From: "Edgar E. Iglesias" <[email protected]> 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 <[email protected]> --- 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 _______________________________________________ Ltrace-devel mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel
