From: Jim Wilson Date: Tue, 4 Jul 2000 02:18:06 +0000 (+0000) Subject: Fix hash section entry size to match ELF standard. Override for alpha-linux. X-Git-Tag: readline-pre-41-import~50 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=70bcb1452f241edac96dc697f430b5fa3cb9a5dd;p=external%2Fbinutils.git 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. --- 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 + + * 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 * 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,