[Ltrace-devel] [PATCH v1 5/6] Export elf_get_sym_info
edgar.iglesias at gmail.com
edgar.iglesias at gmail.com
Tue Oct 9 12:50:34 UTC 2012
From: "Edgar E. Iglesias" <edgar at axis.com>
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 at axis.com>
---
ltrace-elf.c | 13 ++++++++++---
ltrace-elf.h | 5 +++++
2 files changed, 15 insertions(+), 3 deletions(-)
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 @@ do_close_elf(struct ltelf *lte) {
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 @@ arch_get_sym_info(struct ltelf *lte, const char *filename,
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 @@ int ltelf_read_library(struct library *lib, struct Process *proc,
* 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);
--
1.7.8.6
More information about the Ltrace-devel
mailing list