/* x86_64 ELF support for BFD.
- Copyright (C) 2000, 2001, 2002, 2004, 2005, 2006, 2008
- Free Software Foundation, Inc.
+ Copyright (C) 2000-2023 Free Software Foundation, Inc.
Contributed by Jan Hubicka <jh@suse.cz>
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
offset to GOT entry */
RELOC_NUMBER (R_X86_64_GOTPC64, 29) /* 64 bit signed pc relative
offset to GOT */
- RELOC_NUMBER (R_X86_64_GOTPLT64, 30) /* like GOT64, but indicates
- that PLT entry is needed */
+ RELOC_NUMBER (R_X86_64_GOTPLT64, 30) /* Obsolete. The same as GOT64. */
RELOC_NUMBER (R_X86_64_PLTOFF64, 31) /* 64 bit GOT relative offset
to PLT entry */
- /* 32 .. 33 */
+ RELOC_NUMBER (R_X86_64_SIZE32, 32) /* 32-bit symbol size */
+ RELOC_NUMBER (R_X86_64_SIZE64, 33) /* 64-bit symbol size */
RELOC_NUMBER (R_X86_64_GOTPC32_TLSDESC, 34)
/* 32 bit signed pc relative
offset to TLS descriptor
descriptor. */
RELOC_NUMBER (R_X86_64_TLSDESC, 36) /* 2x64-bit TLS descriptor. */
RELOC_NUMBER (R_X86_64_IRELATIVE, 37) /* Adjust indirectly by program base */
+ RELOC_NUMBER (R_X86_64_RELATIVE64, 38) /* 64bit adjust by program base */
+ RELOC_NUMBER (R_X86_64_PC32_BND, 39) /* PC relative 32 bit
+ signed with BND prefix */
+ RELOC_NUMBER (R_X86_64_PLT32_BND, 40) /* 32 bit PLT address with
+ BND prefix */
+ /* Load from 32 bit signed pc relative offset to GOT entry without
+ REX prefix, relaxable. */
+ RELOC_NUMBER (R_X86_64_GOTPCRELX, 41)
+ /* Load from 32 bit signed pc relative offset to GOT entry with
+ REX prefix, relaxable. */
+ RELOC_NUMBER (R_X86_64_REX_GOTPCRELX, 42)
RELOC_NUMBER (R_X86_64_GNU_VTINHERIT, 250) /* GNU C++ hack */
RELOC_NUMBER (R_X86_64_GNU_VTENTRY, 251) /* GNU C++ hack */
END_RELOC_NUMBERS (R_X86_64_max)
#define SHN_X86_64_LCOMMON (SHN_LORESERVE + 2)
#define SHF_X86_64_LARGE 0x10000000
+
+#define DT_X86_64_PLT (DT_LOPROC + 0)
+#define DT_X86_64_PLTSZ (DT_LOPROC + 1)
+#define DT_X86_64_PLTENT (DT_LOPROC + 3)
+
#endif