diff options
author | Alan Modra <amodra@gmail.com> | 2013-02-22 23:24:24 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-02-22 23:24:24 +0000 |
commit | 24c274a1338fdc8295f85a2a4854cfa80a1712da (patch) | |
tree | 2bbaead54100b14c77a006507f57cb4390b06221 /gdb/elfread.c | |
parent | d38b600c90d85858c10a397e905219646f22ab5b (diff) | |
download | gdb-24c274a1338fdc8295f85a2a4854cfa80a1712da.zip gdb-24c274a1338fdc8295f85a2a4854cfa80a1712da.tar.gz gdb-24c274a1338fdc8295f85a2a4854cfa80a1712da.tar.bz2 |
* elfread.c (elf_symtab_read): Do not use udata.p here to find
symbol size.
* ppc64-tdep.c (ppc64_elf_make_msymbol_special): New function.
* ppc64-tdep.h (ppc64_elf_make_msymbol_special): Declare.
* ppc-linux-tdep.c (ppc_linux_init_abi): Set up to use the above.
* ppcfbsd-tdep.c (ppcfbsd_init_abi): Likewise.
Diffstat (limited to 'gdb/elfread.c')
-rw-r--r-- | gdb/elfread.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/gdb/elfread.c b/gdb/elfread.c index 4b95627..43c32b2 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -556,21 +556,14 @@ elf_symtab_read (struct objfile *objfile, int type, if (msym) { - /* Pass symbol size field in via BFD. FIXME!!! */ - elf_symbol_type *elf_sym; - /* NOTE: uweigand-20071112: A synthetic symbol does not have an - ELF-private part. However, in some cases (e.g. synthetic - 'dot' symbols on ppc64) the udata.p entry is set to point back - to the original ELF symbol it was derived from. Get the size - from that symbol. */ + ELF-private part. */ if (type != ST_SYNTHETIC) - elf_sym = (elf_symbol_type *) sym; - else - elf_sym = (elf_symbol_type *) sym->udata.p; - - if (elf_sym) - SET_MSYMBOL_SIZE (msym, elf_sym->internal_elf_sym.st_size); + { + /* Pass symbol size field in via BFD. FIXME!!! */ + elf_symbol_type *elf_sym = (elf_symbol_type *) sym; + SET_MSYMBOL_SIZE (msym, elf_sym->internal_elf_sym.st_size); + } msym->filename = filesymname; gdbarch_elf_make_msymbol_special (gdbarch, sym, msym); |