diff options
author | Jim Wilson <wilson@tuliptree.org> | 2000-07-04 02:18:06 +0000 |
---|---|---|
committer | Jim Wilson <wilson@tuliptree.org> | 2000-07-04 02:18:06 +0000 |
commit | 70bcb1452f241edac96dc697f430b5fa3cb9a5dd (patch) | |
tree | 4d7a2e1ab32d6665925912207ea9eb05b05153bb /bfd | |
parent | b8ee63fa4009b17a7b786f77fecd19bb91ad84b1 (diff) | |
download | gdb-70bcb1452f241edac96dc697f430b5fa3cb9a5dd.zip gdb-70bcb1452f241edac96dc697f430b5fa3cb9a5dd.tar.gz gdb-70bcb1452f241edac96dc697f430b5fa3cb9a5dd.tar.bz2 |
Fix hash section entry size to match ELF standard. Override for alpha-linux.
* elf64-alpha.c (alpha_elf_size_info): New.
(elf_backend_size_info): Define to alpha_elf_size_info.
* elfcode.h (elf_size_info): Change hash bucket size to 4.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf64-alpha.c | 33 | ||||
-rw-r--r-- | bfd/elfcode.h | 2 |
3 files changed, 40 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 99626ff..e44ee9b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2000-07-03 Jim Wilson <wilson@cygnus.com> + + * elf64-alpha.c (alpha_elf_size_info): New. + (elf_backend_size_info): Define to alpha_elf_size_info. + * elfcode.h (elf_size_info): Change hash bucket size to 4. + 2000-07-03 Ulf Carlsson <ulfc@engr.sgi.com> * elf32-mips.c: Include elf32-target.h again for the traditional diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 4c083fa..84f3075 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -4643,6 +4643,36 @@ elf64_alpha_ecoff_debug_swap = elf64_alpha_read_ecoff_info }; +/* Use a non-standard hash bucket size of 8. */ + +const struct elf_size_info alpha_elf_size_info = +{ + sizeof (Elf64_External_Ehdr), + sizeof (Elf64_External_Phdr), + sizeof (Elf64_External_Shdr), + sizeof (Elf64_External_Rel), + sizeof (Elf64_External_Rela), + sizeof (Elf64_External_Sym), + sizeof (Elf64_External_Dyn), + sizeof (Elf_External_Note), + 8, + 1, + 64, 8, + ELFCLASS64, EV_CURRENT, + bfd_elf64_write_out_phdrs, + bfd_elf64_write_shdrs_and_ehdr, + bfd_elf64_write_relocs, + bfd_elf64_swap_symbol_out, + bfd_elf64_slurp_reloc_table, + bfd_elf64_slurp_symbol_table, + bfd_elf64_swap_dyn_in, + bfd_elf64_swap_dyn_out, + NULL, + NULL, + NULL, + NULL +}; + #define TARGET_LITTLE_SYM bfd_elf64_alpha_vec #define TARGET_LITTLE_NAME "elf64-alpha" #define ELF_ARCH bfd_arch_alpha @@ -4698,6 +4728,9 @@ elf64_alpha_ecoff_debug_swap = #define elf_backend_ecoff_debug_swap \ &elf64_alpha_ecoff_debug_swap +#define elf_backend_size_info \ + alpha_elf_size_info + /* * A few constants that determine how the .plt section is set up. */ diff --git a/bfd/elfcode.h b/bfd/elfcode.h index cd8e9a6..f1b825d 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -1525,7 +1525,7 @@ const struct elf_size_info NAME(_bfd_elf,size_info) = { sizeof (Elf_External_Sym), sizeof (Elf_External_Dyn), sizeof (Elf_External_Note), - ARCH_SIZE / 8, + 4, 1, ARCH_SIZE, FILE_ALIGN, ELFCLASS, EV_CURRENT, |