summaryrefslogtreecommitdiffstats
path: root/bfd/elf64-alpha.c
diff options
context:
space:
mode:
authorJim Wilson <wilson@tuliptree.org>2000-07-04 02:18:06 +0000
committerJim Wilson <wilson@tuliptree.org>2000-07-04 02:18:06 +0000
commit70bcb1452f241edac96dc697f430b5fa3cb9a5dd (patch)
tree4d7a2e1ab32d6665925912207ea9eb05b05153bb /bfd/elf64-alpha.c
parentb8ee63fa4009b17a7b786f77fecd19bb91ad84b1 (diff)
downloadppe42-binutils-70bcb1452f241edac96dc697f430b5fa3cb9a5dd.tar.gz
ppe42-binutils-70bcb1452f241edac96dc697f430b5fa3cb9a5dd.zip
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/elf64-alpha.c')
-rw-r--r--bfd/elf64-alpha.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c
index 4c083fa494..84f3075e4c 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.
*/
OpenPOWER on IntegriCloud