This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Mark, On Thu, 14 Nov 2013 14:42:34 +0100, Mark Wielaard wrote: > As far as I understand from skimming the code, you want to provide an > (extra) table of (function) symbols from ebl for the elf file it is > backing. These symbols are matched against the .odp (in this ppc64 case) > section data. Yes. Not "for the elf file" but for the whole Dwfl_Module where symbols can come from two different places (aux_sym). > Could you please add a little (high-level) description of the ppc64 .odp > section data and how it relates to the symbol table data? Added there: /* Scan all the symbols of EBL and create table of struct sym_entry entries for every function symbol pointing to the .opd section. This includes automatic derefencing of the symbols via the .opd section content to create the virtual symbols for the struct sym_entry entries. As GETSYM points to dwfl_module_getsym we scan all the available symbols, either Dwfl_Module.main plus Dwfl_Module.aux_sym or Dwfl_Module.debug. Symbols from all the available files are included in the SYMENTS count. */ > For each symbol, in the original elf file symbol table, whose st_value > points to an .odp entry, you store a new derived symbol with an adjust > value, name, Yes. > the original shndx It is shndx recalculated from section where belongs VMA of the target code instruction. So not the _original_ shndx. > and file (different from elf?). The code was wrong wrt various handling of shndx and dwfl_file, also some of the resulting API was wrong due to it. Even 'ebl_getsym_t *getsym' now is just pointer to regular dwfl_module_getsym (and no longer pointer to __libdwfl_module_getsym). Also shndxp is no longer used there, Besides that I think shndxp should be removed from dwfl_module_getsym as discussed in some other mail. The trick is that even if the symbol comes from aux_sym its VMA still has to point into the main dwfl_file. Also returning dwfl_file * does not make sense, the target virtual symbol always has to point into .opd, therefore into mod->main file and nowhere else. I just dropped the check that symbol's shndx is really the .opd section shndx as it would need some API extensions not implemented there yet and I find the VMA address check as good enough. Still __libdwfl_module_getsym is IMO useful for libdwfl/dwfl_module_addrsym.c. Although it would be even feasible now to calculate the dwfl_file * out of the count of various kinds of Dwfl_Module symbols. > For this > you do need to walk the original symbol table twice on initialization. Yes. First time just to calculate the count, as C does not have std::vector. > You don't directly read the symbol table (using for example > gelf_getsymshndx), but use a callback for that in the ebl hook. Why is > that? Because dwfl_module_getsym does all the work of merging various symbol sources (main, debug, aux_sym) together with their proper relocation. It would mean just reimplementing dwfl_module_getsym in backends/ppc64_get_symbol.c. > BTW. Missing separator libdwfl/ here. Fixed. > BTW2. Please do send patches through git send-email or git format-patch > so they can be more easily applied locally and binaries come through > encoded and not just as Binary files /dev/null and > b/tests/testfile66.bz2 differ. The git branch was useful to find this > though. I am not used to git send-email or git format-patch. I hope the format used here from git format-patch works for you. Otherwise unaware how to include such a patch in a reply. Thanks, Jan Provide virtual symbols for ppc64 function descriptors backends/ 2013-11-14 Jan Kratochvil <jan.kratochvil@redhat.com> Provide virtual symbols for ppc64 function descriptors. * Makefile.am (ppc64_SRCS): Add ppc64_get_symbol.c. * ppc64_get_symbol.c: New file. * ppc64_init.c (ppc64_init): Install init_symbols, get_symbol and destr. libdwfl/ 2013-11-14 Jan Kratochvil <jan.kratochvil@redhat.com> * dwfl_module_addrsym.c (dwfl_module_addrsym): Adjust FIRST_GLOBAL also for EBL_FIRST_GLOBAL. * dwfl_module_getdwarf.c (getsym_helper): New function. (find_symtab): Call also ebl_init_symbols. (dwfl_module_getsymtab): Count also EBL_SYMENTS. * dwfl_module_getsym.c (__libdwfl_module_getsym): Count also EBL_FIRST_GLOBAL, EBL_SYMENTS. Call also ebl_get_symbol. * libdwflP.h (DWFL_ERRORS): Add INVALID_INDEX. (struct Dwfl_Module): Add fields ebl_syments and ebl_first_global. libebl/ 2013-11-14 Jan Kratochvil <jan.kratochvil@redhat.com> Provide virtual symbols for ppc64 function descriptors. * Makefile.am (gen_SOURCES): Add eblgetsymbol.c. * ebl-hooks.h (init_symbols, get_symbol): New. * eblgetsymbol.c: New file. * libebl.h (ebl_getsym_t): New definition. (ebl_init_symbols, ebl_get_symbol): New declarations. * libeblP.h (struct ebl): New field backend. tests/ 2013-11-06 Jan Kratochvil <jan.kratochvil@redhat.com> Provide virtual symbols for ppc64 function descriptors. * Makefile.am (EXTRA_DIST): Add testfile66.bz2 and testfile66.core.bz2. * run-addrname-test.sh (testfile66, testfile66.core): New tests. * testfile66.bz2: New file. * testfile66.core.bz2: New file. Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com> --- backends/Makefile.am | 2 +- backends/ppc64_get_symbol.c | 196 +++++++++++++++++++++++++++++++++++++++++ backends/ppc64_init.c | 3 + libdwfl/dwfl_module_addrsym.c | 21 ++--- libdwfl/dwfl_module_getdwarf.c | 19 +++- libdwfl/dwfl_module_getsym.c | 48 ++++++++-- libdwfl/libdwflP.h | 5 +- libebl/Makefile.am | 2 +- libebl/ebl-hooks.h | 10 +++ libebl/eblgetsymbol.c | 57 ++++++++++++ libebl/libebl.h | 26 ++++++ libebl/libeblP.h | 3 + tests/Makefile.am | 3 +- tests/run-addrname-test.sh | 39 ++++++++ tests/testfile66.bz2 | Bin 0 -> 741 bytes tests/testfile66.core.bz2 | Bin 0 -> 56448 bytes 16 files changed, 412 insertions(+), 22 deletions(-) create mode 100644 backends/ppc64_get_symbol.c create mode 100644 libebl/eblgetsymbol.c create mode 100755 tests/testfile66.bz2 create mode 100644 tests/testfile66.core.bz2 diff --git a/backends/Makefile.am b/backends/Makefile.am index 5b5e067..0e00329 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@ -94,7 +94,7 @@ am_libebl_ppc_pic_a_OBJECTS = $(ppc_SRCS:.c=.os) ppc64_SRCS = ppc64_init.c ppc64_symbol.c ppc64_retval.c \ ppc64_corenote.c ppc_regs.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \ - ppc_cfi.c + ppc_cfi.c ppc64_get_symbol.c libebl_ppc64_pic_a_SOURCES = $(ppc64_SRCS) am_libebl_ppc64_pic_a_OBJECTS = $(ppc64_SRCS:.c=.os) diff --git a/backends/ppc64_get_symbol.c b/backends/ppc64_get_symbol.c new file mode 100644 index 0000000..d7a7af0 --- /dev/null +++ b/backends/ppc64_get_symbol.c @@ -0,0 +1,196 @@ +/* Provide virtual symbols for ppc64 function descriptors. + Copyright (C) 2013 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <assert.h> +#include <endian.h> +#include <string.h> +#include <stdlib.h> + +#define BACKEND ppc64_ +#include "libebl_CPU.h" + +/* Pointer to the first entry is stored into ebl->backend. + It has Dwfl_Module->ebl_syments entries and its memory is followed by + strings for the NAME entries. */ + +struct sym_entry +{ + GElf_Sym sym; + GElf_Word shndx; + const char *name; +}; + +static Elf_Scn * +scnfindvma (Elf *elf, GElf_Addr vma) +{ + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (likely (shdr != NULL) + && vma >= shdr->sh_addr + && vma < shdr->sh_addr + shdr->sh_size) + break; + } + return scn; +} + +/* Scan all the symbols of EBL and create table of struct sym_entry entries for + every function symbol pointing to the .opd section. This includes automatic + derefencing of the symbols via the .opd section content to create the + virtual symbols for the struct sym_entry entries. As GETSYM points to + dwfl_module_getsym we scan all the available symbols, either + Dwfl_Module.main plus Dwfl_Module.aux_sym or Dwfl_Module.debug. + Symbols from all the available files are included in the SYMENTS count. */ + +void +ppc64_init_symbols (Ebl *ebl, size_t syments, int first_global, + GElf_Addr main_bias, ebl_getsym_t *getsym, void *arg, + size_t *ebl_symentsp, int *ebl_first_globalp) +{ + assert (ebl != NULL); + assert (ebl->backend == NULL); + Elf *elf = ebl->elf; + assert (*ebl_symentsp == 0); + assert (*ebl_first_globalp == 0); + GElf_Ehdr ehdr_mem, *ehdr = gelf_getehdr (elf, &ehdr_mem); + if (ehdr == NULL) + return; + GElf_Shdr opd_shdr_mem, *opd_shdr; + Elf_Data *opd_data = NULL; + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + opd_shdr = gelf_getshdr (scn, &opd_shdr_mem); + if (opd_shdr == NULL) + continue; + if (strcmp (elf_strptr (elf, ehdr->e_shstrndx, opd_shdr->sh_name), ".opd") + != 0) + continue; + opd_data = elf_getdata (scn, NULL); + /* SHT_NOBITS will produce NULL D_BUF. */ + if (opd_data == NULL || opd_data->d_buf == NULL) + return; + assert (opd_data->d_size == opd_shdr->sh_size); + break; + } + if (opd_data == NULL) + return; + size_t names_size = 0; + size_t ebl_syments = 0; + int ebl_first_global = 0; + for (size_t symi = 0; symi < syments; symi++) + { + GElf_Sym sym; + const char *symname = getsym (arg, symi, &sym, NULL); + /* Do not check SHNDX as it may correspond to aux_sym and we do not have + access to its Elf * to find its the aux_sym .opd section. */ + if (symname == NULL) + continue; + Elf64_Addr val; + if (sym.st_value < opd_shdr->sh_addr + main_bias + || sym.st_value > (opd_shdr->sh_addr + main_bias + + opd_shdr->sh_size - sizeof (val))) + continue; + ebl_syments++; + if ((ssize_t) symi < first_global) + ebl_first_global++; + names_size += 1 + strlen (symname) + 1; + } + if (ebl_syments == 0) + return; + struct sym_entry *sym_table; + sym_table = malloc (ebl_syments * sizeof (*sym_table) + names_size); + if (sym_table == NULL) + return; + struct sym_entry *dest = sym_table; + char *names = (void *) &sym_table[ebl_syments]; + char *names_dest = names; + for (size_t symi = 0; symi < syments; symi++) + { + GElf_Sym sym; + const char *symname = getsym (arg, symi, &sym, NULL); + /* Do not check SHNDX as it may correspond to aux_sym and we do not have + access to its Elf * to find its the aux_sym .opd section. */ + if (symname == NULL) + continue; + uint64_t val64; + if (sym.st_value < opd_shdr->sh_addr + main_bias + || sym.st_value > (opd_shdr->sh_addr + main_bias + + opd_shdr->sh_size - sizeof (val64))) + continue; + val64 = *(const uint64_t *) (opd_data->d_buf + sym.st_value + - (opd_shdr->sh_addr + main_bias)); + val64 = (elf_getident (elf, NULL)[EI_DATA] == ELFDATA2MSB + ? be64toh (val64) : le64toh (val64)); + assert ((char *) dest < names); + dest->sym = sym; + dest->sym.st_value = val64 + main_bias; + Elf_Scn *sym_scn = scnfindvma (elf, dest->sym.st_value); + dest->shndx = sym_scn == NULL ? SHN_ABS : elf_ndxscn (sym_scn); + dest->sym.st_shndx = SHN_XINDEX; + dest->name = names_dest; + *names_dest++ = '.'; + names_dest = stpcpy (names_dest, symname) + 1; + dest++; + } + assert ((char *) dest == names); + assert (names_dest == names + names_size); + *ebl_symentsp = ebl_syments; + *ebl_first_globalp = ebl_first_global; + ebl->backend = sym_table; +} + +const char * +ppc64_get_symbol (Ebl *ebl, size_t ndx, GElf_Sym *symp, GElf_Word *shndxp) +{ + assert (ebl != NULL); + if (ebl->backend == NULL) + return NULL; + struct sym_entry *sym_table = ebl->backend; + const struct sym_entry *found = &sym_table[ndx]; + *symp = found->sym; + if (shndxp) + *shndxp = found->shndx; + return found->name; +} + +void +ppc64_destr (Ebl *ebl) +{ + if (ebl->backend == NULL) + return; + struct sym_entry *sym_table = ebl->backend; + free (sym_table); + ebl->backend = NULL; +} diff --git a/backends/ppc64_init.c b/backends/ppc64_init.c index 1435875..3ed882b 100644 --- a/backends/ppc64_init.c +++ b/backends/ppc64_init.c @@ -65,6 +65,9 @@ ppc64_init (elf, machine, eh, ehlen) HOOK (eh, core_note); HOOK (eh, auxv_info); HOOK (eh, abi_cfi); + HOOK (eh, init_symbols); + HOOK (eh, get_symbol); + HOOK (eh, destr); return MODVERSION; } diff --git a/libdwfl/dwfl_module_addrsym.c b/libdwfl/dwfl_module_addrsym.c index d9eb0a2..6a39346 100644 --- a/libdwfl/dwfl_module_addrsym.c +++ b/libdwfl/dwfl_module_addrsym.c @@ -173,16 +173,17 @@ dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr addr, } } - /* First go through global symbols. mod->first_global and - mod->aux_first_global are setup by dwfl_module_getsymtab to the - index of the first global symbol in those symbol tables. Both - are non-zero when the table exist, except when there is only a - dynsym table loaded through phdrs, then first_global is zero and - there will be no auxiliary table. All symbols with local binding - come first in the symbol table, then all globals. The zeroth, - null entry, in the auxiliary table is skipped if there is a main - table. */ - int first_global = mod->first_global + mod->aux_first_global; + /* First go through global symbols. mod->first_global, + mod->aux_first_global and mod->ebl_first_global are setup by + dwfl_module_getsymtab to the index of the first global symbol in + those symbol tables. Both are non-zero when the table exist, + except when there is only a dynsym table loaded through phdrs, then + first_global is zero and there will be no auxiliary table. All + symbols with local binding come first in the symbol table, then all + globals. The zeroth, null entry, in the auxiliary table is skipped + if there is a main table. */ + int first_global = (mod->first_global + mod->aux_first_global + + mod->ebl_first_global); if (mod->syments > 0 && mod->aux_syments > 0) first_global--; search_table (first_global == 0 ? 1 : first_global, syments); diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c index 7a65ec3..3321751 100644 --- a/libdwfl/dwfl_module_getdwarf.c +++ b/libdwfl/dwfl_module_getdwarf.c @@ -945,6 +945,13 @@ find_aux_sym (Dwfl_Module *mod __attribute__ ((unused)), #endif } +static const char * +getsym_helper (void *arg, int ndx, GElf_Sym *sym, GElf_Word *shndxp) +{ + Dwfl_Module *mod = arg; + return dwfl_module_getsym (mod, ndx, sym, shndxp); +} + /* Try to find a symbol table in either MOD->main.elf or MOD->debug.elf. */ static void find_symtab (Dwfl_Module *mod) @@ -1064,7 +1071,7 @@ find_symtab (Dwfl_Module *mod) mod->aux_syments = 0; elf_end (mod->aux_sym.elf); mod->aux_sym.elf = NULL; - return; + goto aux_done; } mod->aux_symstrdata = elf_getdata (elf_getscn (mod->aux_sym.elf, @@ -1085,7 +1092,15 @@ find_symtab (Dwfl_Module *mod) mod->aux_symdata = elf_getdata (aux_symscn, NULL); if (mod->aux_symdata == NULL) goto aux_cleanup; + aux_done:; } + + Dwfl_Error error = __libdwfl_module_getebl (mod); + if (error == DWFL_E_NOERROR) + ebl_init_symbols (mod->ebl, mod->syments + mod->aux_syments, + mod->first_global + mod->aux_first_global, + mod->main_bias, getsym_helper, mod, + &mod->ebl_syments, &mod->ebl_first_global); } @@ -1242,7 +1257,7 @@ dwfl_module_getsymtab (Dwfl_Module *mod) find_symtab (mod); if (mod->symerr == DWFL_E_NOERROR) /* We will skip the auxiliary zero entry if there is another one. */ - return (mod->syments + mod->aux_syments + return (mod->syments + mod->aux_syments + mod->ebl_syments - (mod->syments > 0 && mod->aux_syments > 0 ? 1 : 0)); __libdwfl_seterrno (mod->symerr); diff --git a/libdwfl/dwfl_module_getsym.c b/libdwfl/dwfl_module_getsym.c index 0f5dd37..e159850 100644 --- a/libdwfl/dwfl_module_getsym.c +++ b/libdwfl/dwfl_module_getsym.c @@ -55,8 +55,7 @@ __libdwfl_module_getsym (Dwfl_Module *mod, int ndx, Elf_Data *symdata; Elf_Data *symxndxdata; Elf_Data *symstrdata; - if (mod->aux_symdata == NULL - || ndx < mod->first_global) + if (ndx < mod->first_global) { /* main symbol table (locals). */ tndx = ndx; @@ -74,24 +73,61 @@ __libdwfl_module_getsym (Dwfl_Module *mod, int ndx, symxndxdata = mod->aux_symxndxdata; symstrdata = mod->aux_symstrdata; } - else if ((size_t) ndx < mod->syments + mod->aux_first_global - skip_aux_zero) + else if (ndx < (mod->first_global + mod->aux_first_global + + mod->ebl_first_global - skip_aux_zero)) + { + /* ebl symbol lookup (locals). */ + symdata = NULL; + tndx = ndx - (mod->first_global + mod->aux_first_global - skip_aux_zero); + } + else if ((size_t) ndx < (mod->syments + mod->aux_first_global + + mod->ebl_first_global - skip_aux_zero)) { /* main symbol table (globals). */ - tndx = ndx - mod->aux_first_global + skip_aux_zero; + tndx = ndx - (mod->aux_first_global + mod->ebl_first_global + - skip_aux_zero); file = mod->symfile; symdata = mod->symdata; symxndxdata = mod->symxndxdata; symstrdata = mod->symstrdata; } - else + else if ((size_t) ndx < (mod->syments + mod->aux_syments + + mod->ebl_first_global - skip_aux_zero)) { /* aux symbol table (globals). */ - tndx = ndx - mod->syments + skip_aux_zero; + tndx = ndx - (mod->syments + mod->ebl_first_global - skip_aux_zero); file = &mod->aux_sym; symdata = mod->aux_symdata; symxndxdata = mod->aux_symxndxdata; symstrdata = mod->aux_symstrdata; } + else if ((size_t) ndx < (mod->syments + mod->aux_syments + + mod->ebl_syments - skip_aux_zero)) + { + /* ebl symbol lookup (globals). */ + symdata = NULL; + tndx = ndx - (mod->syments + mod->aux_syments - skip_aux_zero); + } + else + { + /* out of range NDX. */ + __libdwfl_seterrno (DWFL_E_INVALID_INDEX); + return NULL; + } + + if (symdata == NULL) + { + const char *name = ebl_get_symbol (mod->ebl, tndx, sym, &shndx); + if (likely (name != NULL)) + { + if (filep) + *filep = &mod->main; + return name; + } + __libdwfl_seterrno (DWFL_E_LIBEBL); + return NULL; + } + sym = gelf_getsymshndx (symdata, symxndxdata, tndx, sym, &shndx); if (unlikely (sym == NULL)) diff --git a/libdwfl/libdwflP.h b/libdwfl/libdwflP.h index 0c862b3..ee89344 100644 --- a/libdwfl/libdwflP.h +++ b/libdwfl/libdwflP.h @@ -89,7 +89,8 @@ typedef struct Dwfl_Process Dwfl_Process; DWFL_ERROR (ATTACH_STATE_CONFLICT, N_("Dwfl already has attached state")) \ DWFL_ERROR (NO_ATTACH_STATE, N_("Dwfl has no attached state")) \ DWFL_ERROR (NO_UNWIND, N_("Unwinding not supported for this architecture")) \ - DWFL_ERROR (INVALID_ARGUMENT, N_("Invalid argument")) + DWFL_ERROR (INVALID_ARGUMENT, N_("Invalid argument")) \ + DWFL_ERROR (INVALID_INDEX, N_("invalid section index")) #define DWFL_ERROR(name, text) DWFL_E_##name, typedef enum { DWFL_ERRORS DWFL_E_NUM } Dwfl_Error; @@ -172,8 +173,10 @@ struct Dwfl_Module Elf_Data *aux_symdata; /* Data in the auxiliary ELF symbol table. */ size_t syments; /* sh_size / sh_entsize of that section. */ size_t aux_syments; /* sh_size / sh_entsize of aux_sym section. */ + size_t ebl_syments; /* Number of symbols from ebl_getsym. */ int first_global; /* Index of first global symbol of table. */ int aux_first_global; /* Index of first global of aux_sym table. */ + int ebl_first_global; /* Index of first global from ebl_getsym. */ Elf_Data *symstrdata; /* Data for its string table. */ Elf_Data *aux_symstrdata; /* Data for aux_sym string table. */ Elf_Data *symxndxdata; /* Data in the extended section index table. */ diff --git a/libebl/Makefile.am b/libebl/Makefile.am index 4487c5f..1fb3da3 100644 --- a/libebl/Makefile.am +++ b/libebl/Makefile.am @@ -54,7 +54,7 @@ gen_SOURCES = eblopenbackend.c eblclosebackend.c eblstrtab.c \ eblreginfo.c eblnonerelocp.c eblrelativerelocp.c \ eblsysvhashentrysize.c eblauxvinfo.c eblcheckobjattr.c \ ebl_check_special_section.c ebl_syscall_abi.c eblabicfi.c \ - eblstother.c eblinitreg.c + eblstother.c eblinitreg.c eblgetsymbol.c libebl_a_SOURCES = $(gen_SOURCES) diff --git a/libebl/ebl-hooks.h b/libebl/ebl-hooks.h index cb52fee..2ad18ec 100644 --- a/libebl/ebl-hooks.h +++ b/libebl/ebl-hooks.h @@ -162,5 +162,15 @@ bool EBLHOOK(set_initial_registers_tid) (pid_t tid, ebl_tid_registers_t *setfunc, void *arg); +/* See ebl_init_symbols. */ +void EBLHOOK(init_symbols) (Ebl *ebl, size_t syments, int first_global, + GElf_Addr main_bias, + ebl_getsym_t *getsym, void *arg, + size_t *ebl_symentsp, int *ebl_first_globalp); + +/* See ebl_get_symbol. */ +const char *EBLHOOK(get_symbol) (Ebl *ebl, size_t ndx, GElf_Sym *symp, + GElf_Word *shndxp); + /* Destructor for ELF backend handle. */ void EBLHOOK(destr) (struct ebl *); diff --git a/libebl/eblgetsymbol.c b/libebl/eblgetsymbol.c new file mode 100644 index 0000000..29480eb --- /dev/null +++ b/libebl/eblgetsymbol.c @@ -0,0 +1,57 @@ +/* Provide virtual symbols from backend. + Copyright (C) 2013 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <libeblP.h> +#include <assert.h> + +void +ebl_init_symbols (Ebl *ebl, size_t syments, int first_global, + GElf_Addr main_bias, ebl_getsym_t *getsym, void *arg, + size_t *ebl_symentsp, int *ebl_first_globalp) +{ + if (ebl == NULL) + return; + if (ebl->init_symbols == NULL) + return; + ebl->init_symbols (ebl, syments, first_global, main_bias, getsym, arg, + ebl_symentsp, ebl_first_globalp); +} + +const char * +ebl_get_symbol (Ebl *ebl, size_t ndx, GElf_Sym *symp, GElf_Word *shndxp) +{ + if (ebl == NULL) + return NULL; + if (ebl->get_symbol == NULL) + return NULL; + return ebl->get_symbol (ebl, ndx, symp, shndxp); +} diff --git a/libebl/libebl.h b/libebl/libebl.h index 622f9e8..8578ecd 100644 --- a/libebl/libebl.h +++ b/libebl/libebl.h @@ -404,6 +404,32 @@ extern bool ebl_set_initial_registers_tid (Ebl *ebl, extern size_t ebl_frame_nregs (Ebl *ebl) __nonnull_attribute__ (1); +/* Callback type for ebl_init_symbols, + it is forwarded to dwfl_module_getsym. */ +typedef const char *(ebl_getsym_t) (void *arg, int ndx, GElf_Sym *symp, + GElf_Word *shndxp) + __nonnull_attribute__ (3); + +/* Initialize virtual backend symbol table for EBL->elf currently containing + SYMENTS symbols, FIRST_GLOBAL of them are local, EBL->elf is using + MAIN_BIAS. GETSYM is a callback to fetch the existing EBL->elf symbols, + ARG is an opaque parameter for GETSYM. Fill in *EBL_SYMENTSP with the total + number of virtual symbols found, *EBL_FIRST_GLOBALP of them are local. + Both return values have to be initialized to zero by caller. */ +extern void ebl_init_symbols (Ebl *ebl, size_t syments, int first_global, + Dwarf_Addr symbias, ebl_getsym_t *getsym, + void *arg, size_t *ebl_symentsp, + int *ebl_first_globalp) + __nonnull_attribute__ (1, 5, 7, 8); + +/* Return NDXth virtual backend symbol from MOD, store it to *SYM and its + section to *SHNDX. Return its name. NDX must be less than *EBL_SYMENTSP + returned by init_symbols above. SHNDXP may be NULL. Returned name is valid + as long as EBL is valid. */ +extern const char *ebl_get_symbol (Ebl *ebl, size_t ndx, GElf_Sym *symp, + GElf_Word *shndxp) + __nonnull_attribute__ (1, 3); + #ifdef __cplusplus } #endif diff --git a/libebl/libeblP.h b/libebl/libeblP.h index 4f4137d..3282050 100644 --- a/libebl/libeblP.h +++ b/libebl/libeblP.h @@ -66,6 +66,9 @@ struct ebl /* Internal data. */ void *dlhandle; + + /* Data specific to the backend. */ + void *backend; }; diff --git a/tests/Makefile.am b/tests/Makefile.am index bc97523..ce80a92 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -214,7 +214,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ testfile_implicit_pointer.c testfile_implicit_pointer.bz2 \ testfile_parameter_ref.c testfile_parameter_ref.bz2 \ testfile_entry_value.c testfile_entry_value.bz2 \ - testfile_implicit_value.c testfile_implicit_value.bz2 + testfile_implicit_value.c testfile_implicit_value.bz2 \ + testfile66.bz2 testfile66.core.bz2 if USE_VALGRIND valgrind_cmd='valgrind -q --trace-children=yes --error-exitcode=1 --run-libc-freeres=no' diff --git a/tests/run-addrname-test.sh b/tests/run-addrname-test.sh index 8624074..bdf8ea6 100755 --- a/tests/run-addrname-test.sh +++ b/tests/run-addrname-test.sh @@ -298,6 +298,45 @@ __vdso_time ??:0 EOF +# .section ".text" +# .globl _start +# .section ".opd","aw" +#_start: .quad .L._start,.TOC.(a)tocbase +# .previous +# .type _start, @function +#.L._start: +# .byte 0x7d, 0x82, 0x10, 0x08 +# .size _start,.-.L._start +testfiles testfile66 testfile66.core +testrun_compare ${abs_top_builddir}/src/addr2line -S -e testfile66 _start 0x103d0 0x103d3 0x103d4 ._start 0x2d8 0x2db 0x2dc <<\EOF +_start +??:0 +_start +??:0 +_start+0x3 +??:0 +()+0x103d4 +??:0 +._start +??:0 +._start +??:0 +._start+0x3 +??:0 +()+0x2dc +??:0 +EOF +testrun_compare ${abs_top_builddir}/src/addr2line -S -e testfile66 --core=testfile66.core _start 0x461c03d0 ._start 0x461b02d8 <<\EOF +_start +??:0 +_start +??:0 +._start +??:0 +._start +??:0 +EOF + testfiles testfile69.core testfile69.so testrun_compare ${abs_top_builddir}/src/addr2line --core=./testfile69.core -S 0x7f0bc6a33535 0x7f0bc6a33546 <<\EOF libstatic+0x9 diff --git a/tests/testfile66.bz2 b/tests/testfile66.bz2 new file mode 100755 index 0000000000000000000000000000000000000000..4797590e2f4ad9e618de393bf498e76882eeecbb GIT binary patch literal 741 zcmV<B0vi27T4*^jL0KkKS!&pZ_5cGu|NsC0|9(uf<v(a)SuQgHs~{%4p&&`<<G00;m< zLS#r}V`0DobvV$LL82sRWj!NLA{u%?^#A|>00003Mj`5HrqpO;dO&IrX&QP-=BAlO zo}dp<X^;RK27mwn0MO7h(8vRT000^Q003wKpa2>G0B8UJ01_l3YM!T&00YVfk5B*y zsA$ok&}aYv01X;6Jxv~8)y1h1g49BdEKx~7+h+t;QTG{U`f_MUC}2%iip2#LeH=}T z>ZZZdMVrd9Z7C%onpDJh8if0G(a)v5$=Fura)i12QfYBP0Qm0vYStb{2{FPP+oF4~DJ zB+xKhM7UcJ!G&mfgTNL!Lgi5E6p|4cnC&HYP}c!yy#6z{?WVd2O3hl==r1rchtJ{H z!x0P+5S5NhNg1~_SrzPUUbK=H7K&={U(a)N6Jn~ZI(2-bMG^Pf5pmF8~R4o-dDG{LZ` zzC<i>i34dQHj)9cHYUW{K-xzx2ux(a)MEXD|2##>}c8DBZ!IVtbbnCeCa+U>3cxRXpD zGJ>$=v<T2<MJqf8a;HYxh9N=>3`(MNAe7t*6ehvBN<tTbf*}W)hGQs(%7TbG_qJ&o ziHJ(2TN7i8?m}r(a)vKn-7(rvV)(1&(Ic+n%PI~u7XmO_(I;#txp!G2w`SZ;6U!p+Y1 zT2>u4v)+S?0R{jw2QH$CT(a)VQAq5D^rq~Z#RgqaDZN0A~SOq>?Oiw+0~MQzOlyFSbE zr>e@)g+tlq1XWm`@@@}^#c)CkQ2s<b;qcctDiwPJY`gdF4yjr);xvXqP*quNkV#z2 zh{KO(NA0>iW~l^mI9EyxxH^FJ#C1%WcWs&3l-|6G)N(2i45(N(L`qb}i}3mh5EMSi zCmtk4NMRYNDu(a)8W)|V!w!6$*QJsisrjCS-T`eLv(a)uy$Fpw3aG(a)ACLI}u}v78F=}KZ XMJ*Sl22CbkU-5S&Q-uizt%z(a)6@PRxr literal 0 HcmV?d00001 diff --git a/tests/testfile66.core.bz2 b/tests/testfile66.core.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..12e2d4442a18fe2d7074c79b365f1711a38b5dc4 GIT binary patch literal 56448 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 Q<$wHL$rRy2L!*PWNFYxGr2qf` literal 0 HcmV?d00001 -- 1.8.3.1
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |