diff options
author | Alan Modra <amodra@bigpond.net.au> | 2005-03-05 11:44:14 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2005-03-05 11:44:14 +0000 |
commit | 6ab8eeb01e359ef39779a74e776b6825ae31ed27 (patch) | |
tree | 429acd918f71b51ca06101ae0ed82bdea08370fe /bfd/elf64-ppc.c | |
parent | cde511b6968fabdde560831c676e002e77b5f70c (diff) | |
download | gdb-6ab8eeb01e359ef39779a74e776b6825ae31ed27.tar.gz |
* 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/elf64-ppc.c')
-rw-r--r-- | bfd/elf64-ppc.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 266a2fcf2af..ca23f23283b 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; |