* ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2.
authorAlan Modra <amodra@gmail.com>
Mon, 27 Aug 2001 10:26:34 +0000 (10:26 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 27 Aug 2001 10:26:34 +0000 (10:26 +0000)
include/elf/ChangeLog
include/elf/ppc.h

index 13bcbb8d6828802a1fd6412c7d50cfb5870c09d3..aab8ebed439cc83504bc7a0e3b320c6a6fbd2f68 100644 (file)
@@ -1,3 +1,7 @@
+2001-08-27  Staffan Ulfberg  <staffanu@swox.se>
+
+       * ppc.h: Add relocs from the 64-bit PowerPC ELF ABI revision 1.2.
+
 2001-06-30  Daniel Berlin  <dan@cgsoftware.com>
 
        * dwarf2.h: Remerge with gcc version, 
index 426961e090877bfdb4297c27cc4ee2d6951a5597..e492aacb361a1579222d3358e40e27bc11b422a0 100644 (file)
@@ -1,5 +1,5 @@
 /* PPC ELF support for BFD.
-   Copyright 1995, 1996, 1998, 2000 Free Software Foundation, Inc.
+   Copyright 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc.
 
    By Michael Meissner, Cygnus Support, <meissner@cygnus.com>, from information
    in the System V Application Binary Interface, PowerPC Processor Supplement
@@ -68,6 +68,40 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
   RELOC_NUMBER (R_PPC_SECTOFF_LO, 34)
   RELOC_NUMBER (R_PPC_SECTOFF_HI, 35)
   RELOC_NUMBER (R_PPC_SECTOFF_HA, 36)
+  RELOC_NUMBER (R_PPC_ADDR30, 37)
+
+/* The following relocs are from the 64-bit PowerPC ELF ABI. */
+  RELOC_NUMBER (R_PPC64_ADDR64,                 38)
+  RELOC_NUMBER (R_PPC64_ADDR16_HIGHER,  39)
+  RELOC_NUMBER (R_PPC64_ADDR16_HIGHERA,         40)
+  RELOC_NUMBER (R_PPC64_ADDR16_HIGHEST,         41)
+  RELOC_NUMBER (R_PPC64_ADDR16_HIGHESTA, 42)
+  RELOC_NUMBER (R_PPC64_UADDR64,        43)
+  RELOC_NUMBER (R_PPC64_REL64,          44)
+  RELOC_NUMBER (R_PPC64_PLT64,          45)
+  RELOC_NUMBER (R_PPC64_PLTREL64,       46)
+  RELOC_NUMBER (R_PPC64_TOC16,          47)
+  RELOC_NUMBER (R_PPC64_TOC16_LO,       48)
+  RELOC_NUMBER (R_PPC64_TOC16_HI,       49)
+  RELOC_NUMBER (R_PPC64_TOC16_HA,       50)
+  RELOC_NUMBER (R_PPC64_TOC,            51)
+  RELOC_NUMBER (R_PPC64_PLTGOT16,       52)
+  RELOC_NUMBER (R_PPC64_PLTGOT16_LO,    53)
+  RELOC_NUMBER (R_PPC64_PLTGOT16_HI,    54)
+  RELOC_NUMBER (R_PPC64_PLTGOT16_HA,    55)
+
+/* The following relocs were added in the 64-bit PowerPC ELF ABI revision 1.2. */
+  RELOC_NUMBER (R_PPC64_ADDR16_DS,       56)
+  RELOC_NUMBER (R_PPC64_ADDR16_LO_DS,    57)
+  RELOC_NUMBER (R_PPC64_GOT16_DS,        58)
+  RELOC_NUMBER (R_PPC64_GOT16_LO_DS,     59)
+  RELOC_NUMBER (R_PPC64_PLT16_LO_DS,     60)
+  RELOC_NUMBER (R_PPC64_SECTOFF_DS,      61)
+  RELOC_NUMBER (R_PPC64_SECTOFF_LO_DS,   62)
+  RELOC_NUMBER (R_PPC64_TOC16_DS,        63)
+  RELOC_NUMBER (R_PPC64_TOC16_LO_DS,     64)
+  RELOC_NUMBER (R_PPC64_PLTGOT16_DS,     65)
+  RELOC_NUMBER (R_PPC64_PLTGOT16_LO_DS,  66)
 
 /* The remaining relocs are from the Embedded ELF ABI, and are not
    in the SVR4 ELF ABI.  */
@@ -98,6 +132,44 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type)
 
 END_RELOC_NUMBERS (R_PPC_max)
 
+/* Aliases for R_PPC64-relocs. */
+#define R_PPC64_NONE              R_PPC_NONE
+#define R_PPC64_ADDR32            R_PPC_ADDR32
+#define R_PPC64_ADDR24            R_PPC_ADDR24
+#define R_PPC64_ADDR16            R_PPC_ADDR16
+#define R_PPC64_ADDR16_LO         R_PPC_ADDR16_LO
+#define R_PPC64_ADDR16_HI         R_PPC_ADDR16_HI
+#define R_PPC64_ADDR16_HA         R_PPC_ADDR16_HA
+#define R_PPC64_ADDR14            R_PPC_ADDR14
+#define R_PPC64_ADDR14_BRTAKEN    R_PPC_ADDR14_BRTAKEN
+#define R_PPC64_ADDR14_BRNTAKEN   R_PPC_ADDR14_BRNTAKEN
+#define R_PPC64_REL24             R_PPC_REL24
+#define R_PPC64_REL14             R_PPC_REL14
+#define R_PPC64_REL14_BRTAKEN     R_PPC_REL14_BRTAKEN
+#define R_PPC64_REL14_BRNTAKEN    R_PPC_REL14_BRNTAKEN
+#define R_PPC64_GOT16             R_PPC_GOT16
+#define R_PPC64_GOT16_LO          R_PPC_GOT16_LO
+#define R_PPC64_GOT16_HI          R_PPC_GOT16_HI
+#define R_PPC64_GOT16_HA          R_PPC_GOT16_HA
+#define R_PPC64_COPY              R_PPC_COPY
+#define R_PPC64_GLOB_DAT          R_PPC_GLOB_DAT
+#define R_PPC64_JMP_SLOT          R_PPC_JMP_SLOT
+#define R_PPC64_RELATIVE          R_PPC_RELATIVE
+#define R_PPC64_UADDR32           R_PPC_UADDR32
+#define R_PPC64_UADDR16           R_PPC_UADDR16
+#define R_PPC64_REL32             R_PPC_REL32
+#define R_PPC64_PLT32             R_PPC_PLT32
+#define R_PPC64_PLTREL32          R_PPC_PLTREL32
+#define R_PPC64_PLT16_LO          R_PPC_PLT16_LO
+#define R_PPC64_PLT16_HI          R_PPC_PLT16_HI
+#define R_PPC64_PLT16_HA          R_PPC_PLT16_HA
+#define R_PPC64_SECTOFF           R_PPC_SECTOFF
+#define R_PPC64_SECTOFF_LO        R_PPC_SECTOFF_LO
+#define R_PPC64_SECTOFF_HI        R_PPC_SECTOFF_HI
+#define R_PPC64_SECTOFF_HA        R_PPC_SECTOFF_HA
+#define R_PPC64_ADDR30            R_PPC_ADDR30
+#define R_PPC64_GNU_VTINHERIT    R_PPC_GNU_VTINHERIT
+#define R_PPC64_GNU_VTENTRY      R_PPC_GNU_VTENTRY
 
 /* Processor specific flags for the ELF header e_flags field.  */