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.
This commit is contained in:
Jim Wilson 2000-07-04 02:18:06 +00:00
parent b8ee63fa40
commit 70bcb1452f
3 changed files with 40 additions and 1 deletions

View File

@ -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

View File

@ -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.
*/

View File

@ -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,