diff options
author | Alan Modra <amodra@gmail.com> | 2005-03-05 11:44:14 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-03-05 11:44:14 +0000 |
commit | 93f3fa99561297787206f7ab8f3a9d9974b57667 (patch) | |
tree | c8b541d6da4e823f8ac267fd30586f12073fa03d /bfd | |
parent | 635ddbfb5b790b07ba0ef47a125a7ecd2082817b (diff) | |
download | gdb-93f3fa99561297787206f7ab8f3a9d9974b57667.zip gdb-93f3fa99561297787206f7ab8f3a9d9974b57667.tar.gz gdb-93f3fa99561297787206f7ab8f3a9d9974b57667.tar.bz2 |
* elf64-ppc.c (update_plt_info): Don't mark new ABI call syms
with is_func.
(func_desc_adjust): Force dot-syms local in executables as well
as shared libs.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf64-ppc.c | 14 |
2 files changed, 14 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index af8d64e..98166a7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +2005-03-05 Alan Modra <amodra@bigpond.net.au> + + * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms + with is_func. + (func_desc_adjust): Force dot-syms local in executables as well + as shared libs. + 2005-03-04 David Daney <ddaney@avtrex.com> * elfxx-mips.c (mips_elf_calculate_relocation): Handle special diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 266a2fc..ca23f23 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -4213,7 +4213,9 @@ update_plt_info (bfd *abfd, struct ppc_link_hash_entry *eh, bfd_vma addend) } ent->plt.refcount += 1; eh->elf.needs_plt = 1; - eh->is_func = 1; + if (eh->elf.root.root.string[0] == '.' + && eh->elf.root.root.string[1] != '\0') + eh->is_func = 1; return TRUE; } @@ -5486,12 +5488,10 @@ func_desc_adjust (struct elf_link_hash_entry *h, void *inf) been imported from another library. Function code syms that are really in the library we must leave global to prevent the linker dragging in a definition from a static library. */ - force_local - = (info->shared - && (!fh->elf.def_regular - || fdh == NULL - || !fdh->elf.def_regular - || fdh->elf.forced_local)); + force_local = (!fh->elf.def_regular + || fdh == NULL + || !fdh->elf.def_regular + || fdh->elf.forced_local); _bfd_elf_link_hash_hide_symbol (info, &fh->elf, force_local); return TRUE; |