Export elf_get_sym_info

Export the base implementation of arch_get_sym_info as
elf_get_sym_info() for backends to use if needed.

Signed-off-by: Edgar E. Iglesias <edgar@axis.com>
diff --git a/ltrace-elf.c b/ltrace-elf.c
index cd88581..79feabe 100644
--- a/ltrace-elf.c
+++ b/ltrace-elf.c
@@ -511,10 +511,9 @@
 	close(lte->fd);
 }
 
-#ifndef ARCH_HAVE_GET_SYMINFO
 int
-arch_get_sym_info(struct ltelf *lte, const char *filename,
-		  size_t sym_index, GElf_Rela *rela, GElf_Sym *sym)
+elf_get_sym_info(struct ltelf *lte, const char *filename,
+		 size_t sym_index, GElf_Rela *rela, GElf_Sym *sym)
 {
 	int i = sym_index;
 	GElf_Rel rel;
@@ -541,6 +540,14 @@
 
 	return 0;
 }
+
+#ifndef ARCH_HAVE_GET_SYMINFO
+int
+arch_get_sym_info(struct ltelf *lte, const char *filename,
+		  size_t sym_index, GElf_Rela *rela, GElf_Sym *sym)
+{
+	return elf_get_sym_info(lte, filename, sym_index, rela, sym);
+}
 #endif
 
 static void
diff --git a/ltrace-elf.h b/ltrace-elf.h
index 7aba933..e8fb460 100644
--- a/ltrace-elf.h
+++ b/ltrace-elf.h
@@ -56,6 +56,11 @@
  * point address is stored to *ENTRYP.  */
 struct library *ltelf_read_main_binary(struct Process *proc, const char *path);
 
+/* The base implementation of backend.h (arch_get_sym_info).
+ * See backend.h for details.  */
+int elf_get_sym_info(struct ltelf *lte, const char *filename,
+		     size_t sym_index, GElf_Rela *rela, GElf_Sym *sym);
+
 Elf_Data *elf_loaddata(Elf_Scn *scn, GElf_Shdr *shdr);
 int elf_get_section_covering(struct ltelf *lte, GElf_Addr addr,
 			     Elf_Scn **tgt_sec, GElf_Shdr *tgt_shdr);