diff options
author | Andreas Jaeger <aj@suse.de> | 2001-05-30 18:48:54 +0000 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2001-05-30 18:48:54 +0000 |
commit | aa4bc56285d6b8b7e6e918328a260bc97867ef99 (patch) | |
tree | d0b16d18974e07e86ac36a6b86cf9e76d05f343c | |
parent | 7bacaa80451c87af22f7b8a4a24faf95afc3cdb0 (diff) | |
download | gdb-aa4bc56285d6b8b7e6e918328a260bc97867ef99.tar.gz |
* elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64.
(elf64_x86_64_relocate_section): Likewise.
* elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the
generic version since we want a hashsize of 4.
(elf_backend_size_info): Likewise.
-rw-r--r-- | bfd/ChangeLog | 11 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 38 |
2 files changed, 13 insertions, 36 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a17863fcf76..9e24605d03b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,14 @@ +2001-05-29 Andreas Jaeger <aj@suse.de> + + * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64. + (elf64_x86_64_relocate_section): Likewise. + +2001-05-28 Andreas Jaeger <aj@suse.de> + + * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the + generic version since we want a hashsize of 4. + (elf_backend_size_info): Likewise. + 2001-05-28 Nicolas Pitre <nico@cam.org> * elf32-arm.h: Fix PLT generation for big endian ARM. diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 05ec57a59a5..59700906e24 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -469,6 +469,7 @@ elf64_x86_64_check_relocs (abfd, info, sec, relocs) h->plt.refcount += 1; break; + case R_X86_64_64: case R_X86_64_32: case R_X86_64_32S: case R_X86_64_PC32: @@ -1379,6 +1380,7 @@ elf64_x86_64_relocate_section (output_bfd, info, input_bfd, input_section, case R_X86_64_8: case R_X86_64_16: case R_X86_64_32: + case R_X86_64_64: case R_X86_64_PC8: case R_X86_64_PC16: case R_X86_64_PC32: @@ -1850,40 +1852,6 @@ elf64_x86_64_finish_dynamic_sections (output_bfd, info) return true; } -/* - * Why was the hash table entry size definition changed from - * ARCH_SIZE/8 to 4? This breaks the 64 bit dynamic linker and - * this is the only reason for the elf64_x86_64_size_info structure. - */ - -const struct elf_size_info elf64_86_64_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, /* hash-table entry size */ - 1, /* internal relocations per external relocations */ - 64, /* arch_size */ - 8, /* file_align */ - 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_x86_64_vec #define TARGET_LITTLE_NAME "elf64-x86-64" @@ -1891,8 +1859,6 @@ const struct elf_size_info elf64_86_64_size_info = #define ELF_MACHINE_CODE EM_X86_64 #define ELF_MAXPAGESIZE 0x100000 -#define elf_backend_size_info elf64_86_64_size_info - #define elf_backend_can_gc_sections 1 #define elf_backend_want_got_plt 1 #define elf_backend_plt_readonly 1 |