diff options
author | Alan Modra <amodra@gmail.com> | 2002-01-21 10:29:09 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2002-01-21 10:29:09 +0000 |
commit | e5094212dfec9f4caa6ec514019cdae92c163f2d (patch) | |
tree | 52fc1866d2c2cddcb2995dae1f3fbaa28cfa9c4a /bfd/elfxx-ia64.c | |
parent | 61d99182f0a408360e238eff0bf2bc2dd5b0373f (diff) | |
download | gdb-e5094212dfec9f4caa6ec514019cdae92c163f2d.zip gdb-e5094212dfec9f4caa6ec514019cdae92c163f2d.tar.gz gdb-e5094212dfec9f4caa6ec514019cdae92c163f2d.tar.bz2 |
* elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
boolean param.
(_bfd_elf_link_hash_hide_symbol): Likewise.
* elflink.h (elf_link_add_object_symbols): Adjust call to
elf_backend_hide_symbol.
(elf_fix_symbol_flags): Likewise.
(elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
than bfd_alloc.
* elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
(clobber_millicode_symbols): Adjust to suit new hide_symbol.
* elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
and adjust to suit.
* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
_bfd_elf_link_hash_hide_symbol rather than duplicating code.
* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
Diffstat (limited to 'bfd/elfxx-ia64.c')
-rw-r--r-- | bfd/elfxx-ia64.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index ee49f5a..6baf778 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -1,5 +1,5 @@ /* IA-64 support for 64-bit ELF - Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by David Mosberger-Tang <davidm@hpl.hp.com> This file is part of BFD, the Binary File Descriptor library. @@ -204,7 +204,7 @@ static struct bfd_hash_entry *elfNN_ia64_new_elf_hash_entry static void elfNN_ia64_hash_copy_indirect PARAMS ((struct elf_link_hash_entry *, struct elf_link_hash_entry *)); static void elfNN_ia64_hash_hide_symbol - PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *)); + PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *, boolean)); static struct bfd_link_hash_table *elfNN_ia64_hash_table_create PARAMS ((bfd *abfd)); static struct elfNN_ia64_local_hash_entry *elfNN_ia64_local_hash_lookup @@ -1646,18 +1646,17 @@ elfNN_ia64_hash_copy_indirect (xdir, xind) } static void -elfNN_ia64_hash_hide_symbol (info, xh) - struct bfd_link_info *info ATTRIBUTE_UNUSED; +elfNN_ia64_hash_hide_symbol (info, xh, force_local) + struct bfd_link_info *info; struct elf_link_hash_entry *xh; + boolean force_local; { struct elfNN_ia64_link_hash_entry *h; struct elfNN_ia64_dyn_sym_info *dyn_i; h = (struct elfNN_ia64_link_hash_entry *)xh; - h->root.elf_link_hash_flags &= ~ELF_LINK_HASH_NEEDS_PLT; - if ((h->root.elf_link_hash_flags & ELF_LINK_FORCED_LOCAL) != 0) - h->root.dynindx = -1; + _bfd_elf_link_hash_hide_symbol (info, &h->root, force_local); for (dyn_i = h->info; dyn_i; dyn_i = dyn_i->next) dyn_i->want_plt2 = 0; |