]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
2005-11-17 Roland McGrath <roland@redhat.com>
authorRoland McGrath <roland@redhat.com>
Thu, 17 Nov 2005 22:47:38 +0000 (22:47 +0000)
committerRoland McGrath <roland@redhat.com>
Thu, 17 Nov 2005 22:47:38 +0000 (22:47 +0000)
* ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>.
* ppc64_reloc.def: Likewise.

backends/ChangeLog
backends/ppc64_reloc.def
backends/ppc_reloc.def

index 3715690d41f68fcc6456e43b7d4e55bd24b8a560..98fbad813263716635b027b46e9fdbff3db29f51 100644 (file)
@@ -1,3 +1,8 @@
+2005-11-17  Roland McGrath  <roland@redhat.com>
+
+       * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>.
+       * ppc64_reloc.def: Likewise.
+
 2005-11-15  Roland McGrath  <roland@redhat.com>
 
        * Contents moved here from ../libebl.
index d0cb2f91e8fda125fe7a24cafdbcf455cea2f63f..f9047d55b76bc0fd5fbac8e674b4dcf1abfadd13 100644 (file)
    by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
    3001 King Ranch Road, Ukiah, CA 95482.   */
 
-/*         NAME,               REL|EXEC|DYN    */
+/*         NAME,               REL|EXEC|DYN    */
 
-RELOC_TYPE (NONE,               REL)
-RELOC_TYPE (ADDR32,             REL)
-RELOC_TYPE (ADDR24,             REL|EXEC|DYN)
-RELOC_TYPE (ADDR16,             REL|EXEC|DYN)
-RELOC_TYPE (ADDR16_LO,          REL|EXEC|DYN)
-RELOC_TYPE (ADDR16_HI,          REL|EXEC|DYN)
-RELOC_TYPE (ADDR16_HA,          REL|EXEC|DYN)
-RELOC_TYPE (ADDR14,             REL|EXEC|DYN)
-RELOC_TYPE (ADDR14_BRTAKEN,     REL|EXEC|DYN)
-RELOC_TYPE (ADDR14_BRNTAKEN,    REL|EXEC|DYN)
-RELOC_TYPE (REL24,              REL)
-RELOC_TYPE (REL14,              REL)
-RELOC_TYPE (REL14_BRTAKEN,      REL)
-RELOC_TYPE (REL14_BRNTAKEN,     REL)
-RELOC_TYPE (GOT16,              REL)
-RELOC_TYPE (GOT16_LO,           REL)
-RELOC_TYPE (GOT16_HI,           REL)
-RELOC_TYPE (GOT16_HA,           REL)
-RELOC_TYPE (COPY,               EXEC)
-RELOC_TYPE (GLOB_DAT,           EXEC|DYN)
-RELOC_TYPE (JMP_SLOT,           EXEC|DYN)
-RELOC_TYPE (RELATIVE,           EXEC|DYN)
-RELOC_TYPE (UADDR32,            REL|EXEC|DYN)
-RELOC_TYPE (UADDR16,            REL|EXEC|DYN)
-RELOC_TYPE (REL32,              REL|EXEC|DYN)
-RELOC_TYPE (PLT32,              REL)
-RELOC_TYPE (PLTREL32,           REL)
-RELOC_TYPE (PLT16_LO,           REL)
-RELOC_TYPE (PLT16_HI,           REL)
-RELOC_TYPE (PLT16_HA,           REL)
-RELOC_TYPE (SECTOFF,            REL)
-RELOC_TYPE (SECTOFF_LO,         REL)
-RELOC_TYPE (SECTOFF_HI,         REL)
-RELOC_TYPE (SECTOFF_HA,         REL)
-RELOC_TYPE (ADDR30,             REL|EXEC|DYN)
-RELOC_TYPE (ADDR64,             REL|EXEC|DYN)
-RELOC_TYPE (ADDR16_HIGHER,      REL)
-RELOC_TYPE (ADDR16_HIGHERA,     REL)
-RELOC_TYPE (ADDR16_HIGHEST,     REL)
-RELOC_TYPE (ADDR16_HIGHESTA,    REL)
-RELOC_TYPE (UADDR64,            REL|EXEC|DYN)
-RELOC_TYPE (REL64,              REL|EXEC|DYN)
-RELOC_TYPE (PLT64,              REL)
-RELOC_TYPE (PLTREL64,           REL)
-RELOC_TYPE (TOC16,              REL)
-RELOC_TYPE (TOC16_LO,           REL)
-RELOC_TYPE (TOC16_HI,           REL)
-RELOC_TYPE (TOC16_HA,           REL)
-RELOC_TYPE (TOC,                REL)
-RELOC_TYPE (PLTGOT16,           REL)
-RELOC_TYPE (PLTGOT16_LO,        REL)
-RELOC_TYPE (PLTGOT16_HI,        REL)
-RELOC_TYPE (PLTGOT16_HA,        REL)
-RELOC_TYPE (ADDR16_DS,          REL)
-RELOC_TYPE (ADDR16_LO_DS,       REL|EXEC|DYN)
-RELOC_TYPE (GOT16_DS,           REL)
-RELOC_TYPE (GOT16_LO_DS,        REL)
-RELOC_TYPE (PLT16_LO_DS,        REL)
-RELOC_TYPE (SECTOFF_DS,         REL)
-RELOC_TYPE (SECTOFF_LO_DS,      REL)
-RELOC_TYPE (TOC16_DS,           REL)
-RELOC_TYPE (TOC16_LO_DS,        REL)
-RELOC_TYPE (PLTGOT16_DS,        REL)
-RELOC_TYPE (PLTGOT16_LO_DS,     REL)
-RELOC_TYPE (TLS,                REL)
-RELOC_TYPE (DTPMOD64,           EXEC|DYN)
-RELOC_TYPE (TPREL16,            EXEC|DYN)
-RELOC_TYPE (TPREL16_LO,         EXEC|DYN)
-RELOC_TYPE (TPREL16_HI,         EXEC|DYN)
-RELOC_TYPE (TPREL16_HA,         EXEC|DYN)
-RELOC_TYPE (TPREL64,            EXEC|DYN)
-RELOC_TYPE (DTPREL16,           REL)
-RELOC_TYPE (DTPREL16_LO,        REL)
-RELOC_TYPE (DTPREL16_HI,        REL)
-RELOC_TYPE (DTPREL16_HA,        REL)
-RELOC_TYPE (DTPREL64,           EXEC|DYN)
-RELOC_TYPE (GOT_TLSGD16,        REL)
-RELOC_TYPE (GOT_TLSGD16_LO,     REL)
-RELOC_TYPE (GOT_TLSGD16_HI,     REL)
-RELOC_TYPE (GOT_TLSGD16_HA,     REL)
-RELOC_TYPE (GOT_TLSLD16,        REL)
-RELOC_TYPE (GOT_TLSLD16_LO,     REL)
-RELOC_TYPE (GOT_TLSLD16_HI,     REL)
-RELOC_TYPE (GOT_TLSLD16_HA,     REL)
-RELOC_TYPE (GOT_TPREL16_DS,     REL)
-RELOC_TYPE (GOT_TPREL16_LO_DS,  REL)
-RELOC_TYPE (GOT_TPREL16_HI,     REL)
-RELOC_TYPE (GOT_TPREL16_HA,     REL)
-RELOC_TYPE (GOT_DTPREL16_DS,    REL)
+RELOC_TYPE (NONE,              0)
+RELOC_TYPE (ADDR32,            REL|EXEC|DYN)
+RELOC_TYPE (ADDR24,            REL)
+RELOC_TYPE (ADDR16,            REL)            /* note 1 */
+RELOC_TYPE (ADDR16_LO,         REL)            /* note 1 */
+RELOC_TYPE (ADDR16_HI,         REL)            /* note 1 */
+RELOC_TYPE (ADDR16_HA,         REL)            /* note 1 */
+RELOC_TYPE (ADDR14,            REL)            /* note 1 */
+RELOC_TYPE (ADDR14_BRTAKEN,    REL)            /* note 1 */
+RELOC_TYPE (ADDR14_BRNTAKEN,   REL)            /* note 1 */
+RELOC_TYPE (REL24,             REL)
+RELOC_TYPE (REL14,             REL)
+RELOC_TYPE (REL14_BRTAKEN,     REL)
+RELOC_TYPE (REL14_BRNTAKEN,    REL)
+RELOC_TYPE (GOT16,             REL)
+RELOC_TYPE (GOT16_LO,          REL)
+RELOC_TYPE (GOT16_HI,          REL)
+RELOC_TYPE (GOT16_HA,          REL)
+RELOC_TYPE (COPY,              EXEC)
+RELOC_TYPE (GLOB_DAT,          EXEC|DYN)
+RELOC_TYPE (JMP_SLOT,          EXEC|DYN)
+RELOC_TYPE (RELATIVE,          EXEC|DYN)
+RELOC_TYPE (UADDR32,           REL|EXEC|DYN)
+RELOC_TYPE (UADDR16,           REL)
+RELOC_TYPE (REL32,             REL|EXEC|DYN)
+RELOC_TYPE (PLT32,             REL)
+RELOC_TYPE (PLTREL32,          REL)
+RELOC_TYPE (PLT16_LO,          REL)
+RELOC_TYPE (PLT16_HI,          REL)
+RELOC_TYPE (PLT16_HA,          REL)
+RELOC_TYPE (SECTOFF,           REL)
+RELOC_TYPE (SECTOFF_LO,                REL)
+RELOC_TYPE (SECTOFF_HI,                REL)
+RELOC_TYPE (SECTOFF_HA,                REL)
+RELOC_TYPE (REL30,             REL)            /* note 1 */
+RELOC_TYPE (ADDR64,            REL|EXEC|DYN)
+RELOC_TYPE (ADDR16_HIGHER,     REL)            /* note 1 */
+RELOC_TYPE (ADDR16_HIGHERA,    REL)            /* note 1 */
+RELOC_TYPE (ADDR16_HIGHEST,    REL)            /* note 1 */
+RELOC_TYPE (ADDR16_HIGHESTA,   REL)            /* note 1 */
+RELOC_TYPE (UADDR64,           REL|EXEC|DYN)
+RELOC_TYPE (REL64,             REL|EXEC|DYN)
+RELOC_TYPE (PLT64,             REL)
+RELOC_TYPE (PLTREL64,          REL)
+RELOC_TYPE (TOC16,             REL)
+RELOC_TYPE (TOC16_LO,          REL)
+RELOC_TYPE (TOC16_HI,          REL)
+RELOC_TYPE (TOC16_HA,          REL)
+RELOC_TYPE (TOC,               REL)
+RELOC_TYPE (PLTGOT16,          REL)
+RELOC_TYPE (PLTGOT16_LO,       REL)
+RELOC_TYPE (PLTGOT16_HI,       REL)
+RELOC_TYPE (PLTGOT16_HA,       REL)
+RELOC_TYPE (ADDR16_DS,         REL)            /* note 1 */
+RELOC_TYPE (ADDR16_LO_DS,      REL)            /* note 1 */
+RELOC_TYPE (GOT16_DS,          REL)
+RELOC_TYPE (GOT16_LO_DS,       REL)
+RELOC_TYPE (PLT16_LO_DS,       REL)
+RELOC_TYPE (SECTOFF_DS,                REL)
+RELOC_TYPE (SECTOFF_LO_DS,     REL)
+RELOC_TYPE (TOC16_DS,          REL)
+RELOC_TYPE (TOC16_LO_DS,       REL)
+RELOC_TYPE (PLTGOT16_DS,       REL)
+RELOC_TYPE (PLTGOT16_LO_DS,    REL)
+RELOC_TYPE (TLS,               REL)
+RELOC_TYPE (DTPMOD64,          REL|EXEC|DYN)   /* note 3 */
+RELOC_TYPE (TPREL16,           REL)            /* note 2 */
+RELOC_TYPE (TPREL16_LO,                REL)            /* note 2 */
+RELOC_TYPE (TPREL16_HI,                REL)            /* note 2 */
+RELOC_TYPE (TPREL16_HA,                REL)            /* note 2 */
+RELOC_TYPE (TPREL64,           REL|EXEC|DYN)   /* note 3 */
+RELOC_TYPE (DTPREL16,          REL)
+RELOC_TYPE (DTPREL16_LO,       REL)
+RELOC_TYPE (DTPREL16_HI,       REL)
+RELOC_TYPE (DTPREL16_HA,       REL)
+RELOC_TYPE (DTPREL64,          REL|EXEC|DYN)   /* note 3 */
+RELOC_TYPE (GOT_TLSGD16,       REL)
+RELOC_TYPE (GOT_TLSGD16_LO,    REL)
+RELOC_TYPE (GOT_TLSGD16_HI,    REL)
+RELOC_TYPE (GOT_TLSGD16_HA,    REL)
+RELOC_TYPE (GOT_TLSLD16,       REL)
+RELOC_TYPE (GOT_TLSLD16_LO,    REL)
+RELOC_TYPE (GOT_TLSLD16_HI,    REL)
+RELOC_TYPE (GOT_TLSLD16_HA,    REL)
+RELOC_TYPE (GOT_TPREL16_DS,    REL)
+RELOC_TYPE (GOT_TPREL16_LO_DS, REL)
+RELOC_TYPE (GOT_TPREL16_HI,    REL)
+RELOC_TYPE (GOT_TPREL16_HA,    REL)
+RELOC_TYPE (GOT_DTPREL16_DS,   REL)
 RELOC_TYPE (GOT_DTPREL16_LO_DS, REL)
-RELOC_TYPE (GOT_DTPREL16_HI,    REL)
-RELOC_TYPE (GOT_DTPREL16_HA,    REL)
-RELOC_TYPE (TPREL16_DS,         REL)
-RELOC_TYPE (TPREL16_LO_DS,      EXEC|DYN)
-RELOC_TYPE (TPREL16_HIGHER,     EXEC|DYN)
-RELOC_TYPE (TPREL16_HIGHERA,    EXEC|DYN)
-RELOC_TYPE (TPREL16_HIGHEST,    EXEC|DYN)
-RELOC_TYPE (TPREL16_HIGHESTA,   EXEC|DYN)
-RELOC_TYPE (DTPREL16_DS,        REL)
-RELOC_TYPE (DTPREL16_LO_DS,     REL)
-RELOC_TYPE (DTPREL16_HIGHER,    REL)
-RELOC_TYPE (DTPREL16_HIGHERA,   REL)
-RELOC_TYPE (DTPREL16_HIGHEST,   REL)
-RELOC_TYPE (DTPREL16_HIGHESTA,  REL)
+RELOC_TYPE (GOT_DTPREL16_HI,   REL)
+RELOC_TYPE (GOT_DTPREL16_HA,   REL)
+RELOC_TYPE (TPREL16_DS,                REL)            /* note 2 */
+RELOC_TYPE (TPREL16_LO_DS,     REL)            /* note 2 */
+RELOC_TYPE (TPREL16_HIGHER,    REL)            /* note 2 */
+RELOC_TYPE (TPREL16_HIGHERA,   REL)            /* note 2 */
+RELOC_TYPE (TPREL16_HIGHEST,   REL)            /* note 2 */
+RELOC_TYPE (TPREL16_HIGHESTA,  REL)            /* note 2 */
+RELOC_TYPE (DTPREL16_DS,       REL)
+RELOC_TYPE (DTPREL16_LO_DS,    REL)
+RELOC_TYPE (DTPREL16_HIGHER,   REL)
+RELOC_TYPE (DTPREL16_HIGHERA,  REL)
+RELOC_TYPE (DTPREL16_HIGHEST,  REL)
+RELOC_TYPE (DTPREL16_HIGHESTA, REL)
+
+/* Notes from Alan Modra:
+
+   1) These can appear in DYN and EXEC with improper assembly, but they
+   aren't really kosher.
+
+   2) These can appear in DYN with improper assembly (or silly gcc
+      attributes, I think).  Again, not kosher.
+
+   3) These are legal in REL for PowerOpen compatible assembler syntax,
+      ie. TOC managed by compiler.
+*/
index 97187381b1181c3c055abefacc63500b2b1fdff9..c7993bc88a39bed79b401928b5809cc0d0927ad3 100644 (file)
    by writing the Open Source Initiative c/o Lawrence Rosen, Esq.,
    3001 King Ranch Road, Ukiah, CA 95482.   */
 
-/*         NAME,               REL|EXEC|DYN    */
+/*         NAME,               REL|EXEC|DYN    */
 
-RELOC_TYPE (NONE,               0)
-RELOC_TYPE (ADDR32,             REL|EXEC|DYN)
-RELOC_TYPE (ADDR24,             REL)
-RELOC_TYPE (ADDR16,             REL)
-RELOC_TYPE (ADDR16_LO,          REL)
-RELOC_TYPE (ADDR16_HI,          REL)
-RELOC_TYPE (ADDR16_HA,          REL)
-RELOC_TYPE (ADDR14,             REL)
-RELOC_TYPE (ADDR14_BRTAKEN,     REL)
-RELOC_TYPE (ADDR14_BRNTAKEN,    REL)
-RELOC_TYPE (REL24,              REL)
-RELOC_TYPE (REL14,              REL)
-RELOC_TYPE (REL14_BRTAKEN,      REL)
-RELOC_TYPE (REL14_BRNTAKEN,     REL)
-RELOC_TYPE (GOT16,              REL)
-RELOC_TYPE (GOT16_LO,           REL)
-RELOC_TYPE (GOT16_HI,           REL)
-RELOC_TYPE (GOT16_HA,           REL)
-RELOC_TYPE (PLTREL24,           REL)
-RELOC_TYPE (COPY,               EXEC)
-RELOC_TYPE (GLOB_DAT,           EXEC|DYN)
-RELOC_TYPE (JMP_SLOT,           EXEC|DYN)
-RELOC_TYPE (RELATIVE,           EXEC|DYN)
-RELOC_TYPE (LOCAL24PC,          REL)
-RELOC_TYPE (UADDR32,            REL)
-RELOC_TYPE (UADDR16,            REL)
-RELOC_TYPE (REL32,              REL)
-RELOC_TYPE (PLT32,              REL)
-RELOC_TYPE (PLTREL32,           REL)
-RELOC_TYPE (PLT16_LO,           REL)
-RELOC_TYPE (PLT16_HI,           REL)
-RELOC_TYPE (PLT16_HA,           REL)
-RELOC_TYPE (SDAREL16,           REL)
-RELOC_TYPE (SECTOFF,            REL)
-RELOC_TYPE (SECTOFF_LO,         REL)
-RELOC_TYPE (SECTOFF_HI,         REL)
-RELOC_TYPE (SECTOFF_HA,         REL)
-RELOC_TYPE (TLS,                REL)
-RELOC_TYPE (DTPMOD32,           EXEC|DYN)
-RELOC_TYPE (TPREL16,            REL)
-RELOC_TYPE (TPREL16_LO,         REL)
-RELOC_TYPE (TPREL16_HI,         REL)
-RELOC_TYPE (TPREL16_HA,         REL)
-RELOC_TYPE (TPREL32,            EXEC|DYN)
-RELOC_TYPE (DTPREL16,           REL)
-RELOC_TYPE (DTPREL16_LO,        REL)
-RELOC_TYPE (DTPREL16_HI,        REL)
-RELOC_TYPE (DTPREL16_HA,        REL)
-RELOC_TYPE (DTPREL32,           EXEC|DYN)
-RELOC_TYPE (GOT_TLSGD16,        REL)
-RELOC_TYPE (GOT_TLSGD16_LO,     REL)
-RELOC_TYPE (GOT_TLSGD16_HI,     REL)
-RELOC_TYPE (GOT_TLSGD16_HA,     REL)
-RELOC_TYPE (GOT_TLSLD16,        REL)
-RELOC_TYPE (GOT_TLSLD16_LO,     REL)
-RELOC_TYPE (GOT_TLSLD16_HI,     REL)
-RELOC_TYPE (GOT_TLSLD16_HA,     REL)
-RELOC_TYPE (GOT_TPREL16,        REL)
-RELOC_TYPE (GOT_TPREL16_LO,     REL)
-RELOC_TYPE (GOT_TPREL16_HI,     REL)
-RELOC_TYPE (GOT_TPREL16_HA,     REL)
-RELOC_TYPE (GOT_DTPREL16,       REL)
-RELOC_TYPE (GOT_DTPREL16_LO,    REL)
-RELOC_TYPE (GOT_DTPREL16_HI,    REL)
-RELOC_TYPE (GOT_DTPREL16_HA,    REL)
-RELOC_TYPE (EMB_NADDR32,        REL)
-RELOC_TYPE (EMB_NADDR16,        REL)
-RELOC_TYPE (EMB_NADDR16_LO,     REL)
-RELOC_TYPE (EMB_NADDR16_HI,     REL)
-RELOC_TYPE (EMB_NADDR16_HA,     REL)
-RELOC_TYPE (EMB_SDAI16,         REL)
-RELOC_TYPE (EMB_SDA2I16,        REL)
-RELOC_TYPE (EMB_SDA2REL,        REL)
-RELOC_TYPE (EMB_SDA21,          REL)
-RELOC_TYPE (EMB_MRKREF,         REL)
-RELOC_TYPE (EMB_RELSEC16,       REL)
-RELOC_TYPE (EMB_RELST_LO,       REL)
-RELOC_TYPE (EMB_RELST_HI,       REL)
-RELOC_TYPE (EMB_RELST_HA,       REL)
-RELOC_TYPE (EMB_BIT_FLD,        REL)
-RELOC_TYPE (EMB_RELSDA,         REL)
-RELOC_TYPE (DIAB_SDA21_LO,      REL)
-RELOC_TYPE (DIAB_SDA21_HI,      REL)
-RELOC_TYPE (DIAB_SDA21_HA,      REL)
-RELOC_TYPE (DIAB_RELSDA_LO,     REL)
-RELOC_TYPE (DIAB_RELSDA_HI,     REL)
-RELOC_TYPE (DIAB_RELSDA_HA,     REL)
-RELOC_TYPE (REL16,              REL)
-RELOC_TYPE (REL16_LO,           REL)
-RELOC_TYPE (REL16_HI,           REL)
-RELOC_TYPE (REL16_HA,           REL)
-RELOC_TYPE (TOC16,              REL)
+RELOC_TYPE (NONE,              0)
+RELOC_TYPE (ADDR32,            REL|EXEC|DYN)
+RELOC_TYPE (ADDR24,            REL)
+RELOC_TYPE (ADDR16,            REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (ADDR16_LO,         REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (ADDR16_HI,         REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (ADDR16_HA,         REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (ADDR14,            REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (ADDR14_BRTAKEN,    REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (ADDR14_BRNTAKEN,   REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (REL24,             REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (REL14,             REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (REL14_BRTAKEN,     REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (REL14_BRNTAKEN,    REL|EXEC|DYN)   /* note 1 */
+RELOC_TYPE (GOT16,             REL)
+RELOC_TYPE (GOT16_LO,          REL)
+RELOC_TYPE (GOT16_HI,          REL)
+RELOC_TYPE (GOT16_HA,          REL)
+RELOC_TYPE (PLTREL24,          REL)
+RELOC_TYPE (COPY,              EXEC)
+RELOC_TYPE (GLOB_DAT,          EXEC|DYN)
+RELOC_TYPE (JMP_SLOT,          EXEC|DYN)
+RELOC_TYPE (RELATIVE,          EXEC|DYN)
+RELOC_TYPE (LOCAL24PC,         REL)
+RELOC_TYPE (UADDR32,           REL|EXEC|DYN)
+RELOC_TYPE (UADDR16,           REL)            /* note 2 */
+RELOC_TYPE (REL32,             REL|EXEC|DYN)
+RELOC_TYPE (PLT32,             REL)
+RELOC_TYPE (PLTREL32,          REL)
+RELOC_TYPE (PLT16_LO,          REL)
+RELOC_TYPE (PLT16_HI,          REL)
+RELOC_TYPE (PLT16_HA,          REL)
+RELOC_TYPE (SDAREL16,          REL)
+RELOC_TYPE (SECTOFF,           REL)
+RELOC_TYPE (SECTOFF_LO,                REL)
+RELOC_TYPE (SECTOFF_HI,                REL)
+RELOC_TYPE (SECTOFF_HA,                REL)
+RELOC_TYPE (TLS,               REL)
+RELOC_TYPE (DTPMOD32,          EXEC|DYN)       /* note 2 */
+RELOC_TYPE (TPREL16,           REL)            /* note 2 */
+RELOC_TYPE (TPREL16_LO,                REL)            /* note 2 */
+RELOC_TYPE (TPREL16_HI,                REL)            /* note 2 */
+RELOC_TYPE (TPREL16_HA,                REL)            /* note 2 */
+RELOC_TYPE (TPREL32,           EXEC|DYN)       /* note 2 */
+RELOC_TYPE (DTPREL16,          REL)
+RELOC_TYPE (DTPREL16_LO,       REL)
+RELOC_TYPE (DTPREL16_HI,       REL)
+RELOC_TYPE (DTPREL16_HA,       REL)
+RELOC_TYPE (DTPREL32,          EXEC|DYN)       /* note 2 */
+RELOC_TYPE (GOT_TLSGD16,       REL)
+RELOC_TYPE (GOT_TLSGD16_LO,    REL)
+RELOC_TYPE (GOT_TLSGD16_HI,    REL)
+RELOC_TYPE (GOT_TLSGD16_HA,    REL)
+RELOC_TYPE (GOT_TLSLD16,       REL)
+RELOC_TYPE (GOT_TLSLD16_LO,    REL)
+RELOC_TYPE (GOT_TLSLD16_HI,    REL)
+RELOC_TYPE (GOT_TLSLD16_HA,    REL)
+RELOC_TYPE (GOT_TPREL16,       REL)
+RELOC_TYPE (GOT_TPREL16_LO,    REL)
+RELOC_TYPE (GOT_TPREL16_HI,    REL)
+RELOC_TYPE (GOT_TPREL16_HA,    REL)
+RELOC_TYPE (GOT_DTPREL16,      REL)
+RELOC_TYPE (GOT_DTPREL16_LO,   REL)
+RELOC_TYPE (GOT_DTPREL16_HI,   REL)
+RELOC_TYPE (GOT_DTPREL16_HA,   REL)
+RELOC_TYPE (EMB_NADDR32,       REL)            /* note 3 */
+RELOC_TYPE (EMB_NADDR16,       REL)            /* note 3 */
+RELOC_TYPE (EMB_NADDR16_LO,    REL)            /* note 3 */
+RELOC_TYPE (EMB_NADDR16_HI,    REL)            /* note 3 */
+RELOC_TYPE (EMB_NADDR16_HA,    REL)            /* note 3 */
+RELOC_TYPE (EMB_SDAI16,                REL)            /* note 3 */
+RELOC_TYPE (EMB_SDA2I16,       REL)            /* note 3 */
+RELOC_TYPE (EMB_SDA2REL,       REL)            /* note 3 */
+RELOC_TYPE (EMB_SDA21,         REL)            /* note 3 */
+RELOC_TYPE (EMB_MRKREF,                REL)            /* note 3 */
+RELOC_TYPE (EMB_RELSEC16,      REL)            /* note 3 */
+RELOC_TYPE (EMB_RELST_LO,      REL)            /* note 3 */
+RELOC_TYPE (EMB_RELST_HI,      REL)            /* note 3 */
+RELOC_TYPE (EMB_RELST_HA,      REL)            /* note 3 */
+RELOC_TYPE (EMB_BIT_FLD,       REL)            /* note 3 */
+RELOC_TYPE (EMB_RELSDA,                REL)            /* note 3 */
+RELOC_TYPE (DIAB_SDA21_LO,     REL)            /* note 3 */
+RELOC_TYPE (DIAB_SDA21_HI,     REL)            /* note 3 */
+RELOC_TYPE (DIAB_SDA21_HA,     REL)            /* note 3 */
+RELOC_TYPE (DIAB_RELSDA_LO,    REL)            /* note 3 */
+RELOC_TYPE (DIAB_RELSDA_HI,    REL)            /* note 3 */
+RELOC_TYPE (DIAB_RELSDA_HA,    REL)            /* note 3 */
+RELOC_TYPE (REL16,             REL)            /* note 2 */
+RELOC_TYPE (REL16_LO,          REL)            /* note 2 */
+RELOC_TYPE (REL16_HI,          REL)            /* note 2 */
+RELOC_TYPE (REL16_HA,          REL)            /* note 2 */
+RELOC_TYPE (TOC16,             REL)            /* note 2 */
+
+/* Notes from Alan Modra:
+
+   1) These relocs should not really appear in EXEC or DYN, but they do,
+   primarily due to improper assembly or non-pic shared objects.  They
+   will cause TEXTREL to be set.  I marked them in the table, because
+   numerous people seem to think non-pic shared libs are a good idea.
+
+   2) As for (1), these relocs can appear anywhere with improper
+   assembler.  I should probably make ld reject anything other than the
+   cases allowed in this table.         Not seen in the wild, so I haven't
+   added the other cases.
+
+   3) Not used in SYSV4
+*/