diff options
author | Alan Modra <amodra@gmail.com> | 2006-03-16 12:20:16 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2006-03-16 12:20:16 +0000 |
commit | 66eb6687c96edd3c969bd644574c649fd0be23cd (patch) | |
tree | 0030537bf715d3f23924ed16b4cd8e8b111a01e6 /bfd/elf64-hppa.c | |
parent | d4bb5350967d01abe04e646993575ccce888f809 (diff) | |
download | gdb-66eb6687c96edd3c969bd644574c649fd0be23cd.zip gdb-66eb6687c96edd3c969bd644574c649fd0be23cd.tar.gz gdb-66eb6687c96edd3c969bd644574c649fd0be23cd.tar.bz2 |
PR 2434
bfd/
* elflink.c (struct elf_smash_syms_data, elf_smash_syms): Delete.
(elf_link_add_object_symbols): Delete unnecessary locals. Rename
hash_table -> htab. Formatting. Save entire symbol table
before loading as-needed syms, and restore afterwards if lib not
needed. Use bfd_hash_allocate rather than bfd_alloc for sym
name. Free some buffers earlier.
* bfd-in.h (struct bfd_hash_table): Add entsize.
(bfd_hash_table_init, bfd_hash_table_init_n): Adjust prototype.
* elf-bfd.h (_bfd_elf_link_hash_table_init): Likewise
* hash.c (bfd_hash_table_init_n): Add entsize param, save to
hash table.
(bfd_hash_table_init): Add param, adjust calls.
* aoutx.h: Adjust all hash_table_init functions and calls.
* bfd.c: Likewise.
* coff-arm.c: Likewise.
* coff-h8300.c: Likewise.
* coff-ppc.c: Likewise.
* cofflink.c: Likewise.
* ecoff.c: Likewise.
* ecofflink.c: Likewise.
* elf-m10300.c: Likewise.
* elf-strtab.c: Likewise.
* elf.c: Likewise.
* elf32-arm.c: Likewise.
* elf32-bfin.c: Likewise.
* elf32-cris.c: Likewise.
* elf32-frv.c: Likewise.
* elf32-hppa.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-m68hc1x.c: Likewise.
* elf32-m68k.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-s390.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-vax.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-s390.c: Likewise.
* elf64-sh64.c: Likewise.
* elf64-x86-64.c: Likewise.
* elfxx-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* i386linux.c: Likewise.
* libaout.h: Likewise.
* libbfd-in.h: Likewise.
* libcoff-in.h: Likewise.
* linker.c: Likewise.
* m68klinux.c: Likewise.
* merge.c: Likewise.
* opncls.c: Likewise.
* pdp11.c: Likewise.
* sparclinux.c: Likewise.
* stabs.c: Likewise.
* sunos.c: Likewise.
* vms.c: Likewise.
* xcofflink.c: Likewise.
* section.c (struct section_hash_entry): Move to..
* libbfd-in.h: ..here.
* Makefile.am: Run "make dep-am"
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
binutils/
* ieee.c (write_ieee_debugging_info): Adjust bfd_hash_table_init calls.
* wrstabs.c (write_stabs_in_sections_debugging_info): Likewise.
ld/
* ldcref.c (add_cref): Adjust bfd_hash_table_init calls.
* ldlang.c (output_statement_table_init, lang_init): Likewise.
* ldmain.c (add_ysym, add_wrap, add_keepsyms_file): Likewise.
(undefined_symbol): Likewise.
Diffstat (limited to 'bfd/elf64-hppa.c')
-rw-r--r-- | bfd/elf64-hppa.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index fbd6458..3c2ca99 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -1,5 +1,5 @@ /* Support for HPPA 64-bit ELF - Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005 + Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -157,9 +157,6 @@ struct elf64_hppa_link_hash_table typedef struct bfd_hash_entry *(*new_hash_entry_func) PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); -static bfd_boolean elf64_hppa_dyn_hash_table_init - PARAMS ((struct elf64_hppa_dyn_hash_table *ht, bfd *abfd, - new_hash_entry_func new)); static struct bfd_hash_entry *elf64_hppa_new_dyn_hash_entry PARAMS ((struct bfd_hash_entry *entry, struct bfd_hash_table *table, const char *string)); @@ -276,13 +273,13 @@ static int elf64_hppa_elf_get_symbol_type PARAMS ((Elf_Internal_Sym *, int)); static bfd_boolean -elf64_hppa_dyn_hash_table_init (ht, abfd, new) - struct elf64_hppa_dyn_hash_table *ht; - bfd *abfd ATTRIBUTE_UNUSED; - new_hash_entry_func new; +elf64_hppa_dyn_hash_table_init (struct elf64_hppa_dyn_hash_table *ht, + bfd *abfd ATTRIBUTE_UNUSED, + new_hash_entry_func new, + unsigned int entsize) { memset (ht, 0, sizeof (*ht)); - return bfd_hash_table_init (&ht->root, new); + return bfd_hash_table_init (&ht->root, new, entsize); } static struct bfd_hash_entry* @@ -328,14 +325,16 @@ elf64_hppa_hash_table_create (abfd) if (!ret) return 0; if (!_bfd_elf_link_hash_table_init (&ret->root, abfd, - _bfd_elf_link_hash_newfunc)) + _bfd_elf_link_hash_newfunc, + sizeof (struct elf_link_hash_entry))) { bfd_release (abfd, ret); return 0; } if (!elf64_hppa_dyn_hash_table_init (&ret->dyn_hash_table, abfd, - elf64_hppa_new_dyn_hash_entry)) + elf64_hppa_new_dyn_hash_entry, + sizeof (struct elf64_hppa_dyn_hash_entry))) return 0; return &ret->root.root; } |