diff options
author | Alan Modra <amodra@bigpond.net.au> | 2013-02-22 23:24:22 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2013-02-22 23:24:22 +0000 |
commit | f26434ca92423baf31f26ff5ca95aff90e02152a (patch) | |
tree | 3e2019dec671900a22f9320a3c70fdd22c4442e0 /gdb/elfread.c | |
parent | ef977039c58644e42f14a1ab3224b368632c1fe4 (diff) | |
download | gdb-f26434ca92423baf31f26ff5ca95aff90e02152a.tar.gz |
* 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 4b9562715cb..43c32b2c63e 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); |