]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
* elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64.
authorAndreas Jaeger <aj@suse.de>
Wed, 30 May 2001 18:48:54 +0000 (18:48 +0000)
committerAndreas Jaeger <aj@suse.de>
Wed, 30 May 2001 18:48:54 +0000 (18:48 +0000)
(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.

bfd/ChangeLog
bfd/elf64-x86-64.c

index a17863fcf766a52503ca1666debb0acb1e0e32d3..9e24605d03bda2e9343dee656c25ca75833b6e17 100644 (file)
@@ -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.
index 05ec57a59a5ffac48fb85f5fd9052acc6a53b9b9..59700906e2414fda100168e037d5ec79462c6a69 100644 (file)
@@ -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