]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
Update elf.h and some tables; fill in sparc backend reloc table.
authorRoland McGrath <roland@redhat.com>
Thu, 2 Apr 2009 01:28:41 +0000 (18:28 -0700)
committerRoland McGrath <roland@redhat.com>
Thu, 2 Apr 2009 01:28:41 +0000 (18:28 -0700)
backends/ChangeLog
backends/sparc_reloc.def
libebl/ChangeLog
libebl/eblauxvinfo.c
libebl/eblsymboltypename.c
libelf/ChangeLog
libelf/elf.h

index 0dbb3eb676fbd6cd835ff43cdc75a0c78b93950f..4b48a8fa481c509eb464326255168e4444c9118d 100644 (file)
@@ -1,3 +1,8 @@
+2009-04-01  Roland McGrath  <roland@redhat.com>
+
+       * sparc_reloc.def: Update table.
+       Data from Dave Miller <davem@davemloft.net>.
+
 2009-02-15  Roland McGrath  <roland@redhat.com>
 
        * ppc_attrs.c (ppc_check_object_attribute): Handle tag
index de65097473be9b5c87c11f05fd00783080d83b88..a7ea52a32ca89f77e923969d887bc55f021f6441 100644 (file)
@@ -1,5 +1,5 @@
 /* List the relocation types for sparc.  -*- C -*-
-   Copyright (C) 2005 Red Hat, Inc.
+   Copyright (C) 2009 Red Hat, Inc.
    This file is part of Red Hat elfutils.
 
    Red Hat elfutils is free software; you can redistribute it and/or modify
 
 /*         NAME,               REL|EXEC|DYN    */
 
-RELOC_TYPE (NONE,               0)
-RELOC_TYPE (8,                  0)
-RELOC_TYPE (16,                 0)
-RELOC_TYPE (32,                 0)
-RELOC_TYPE (DISP8,              0)
-RELOC_TYPE (DISP16,             0)
-RELOC_TYPE (DISP32,             0)
-RELOC_TYPE (WDISP30,            0)
-RELOC_TYPE (WDISP22,            0)
-RELOC_TYPE (HI22,               0)
-RELOC_TYPE (22,                 0)
-RELOC_TYPE (13,                 0)
-RELOC_TYPE (LO10,               0)
-RELOC_TYPE (GOT10,              0)
-RELOC_TYPE (GOT13,              0)
-RELOC_TYPE (GOT22,              0)
-RELOC_TYPE (PC10,               0)
-RELOC_TYPE (PC22,               0)
-RELOC_TYPE (WPLT30,             0)
+RELOC_TYPE (NONE,               REL)
+RELOC_TYPE (8,                  REL)
+RELOC_TYPE (16,                 REL)
+RELOC_TYPE (32,                 REL|DYN)
+RELOC_TYPE (DISP8,              REL)
+RELOC_TYPE (DISP16,             REL)
+RELOC_TYPE (DISP32,             REL)
+RELOC_TYPE (WDISP30,            REL)
+RELOC_TYPE (WDISP22,            REL)
+RELOC_TYPE (HI22,               REL)
+RELOC_TYPE (22,                 REL)
+RELOC_TYPE (13,                 REL)
+RELOC_TYPE (LO10,               REL)
+RELOC_TYPE (GOT10,              REL)
+RELOC_TYPE (GOT13,              REL)
+RELOC_TYPE (GOT22,              REL)
+RELOC_TYPE (PC10,               REL)
+RELOC_TYPE (PC22,               REL)
+RELOC_TYPE (WPLT30,             REL)
 RELOC_TYPE (COPY,               EXEC)
 RELOC_TYPE (GLOB_DAT,           EXEC|DYN)
 RELOC_TYPE (JMP_SLOT,           EXEC|DYN)
 RELOC_TYPE (RELATIVE,           EXEC|DYN)
-RELOC_TYPE (UA32,               0)
-RELOC_TYPE (PLT32,              0)
-RELOC_TYPE (HIPLT22,            0)
-RELOC_TYPE (LOPLT10,            0)
-RELOC_TYPE (PCPLT32,            0)
-RELOC_TYPE (PCPLT22,            0)
-RELOC_TYPE (PCPLT10,            0)
-RELOC_TYPE (10,                 0)
-RELOC_TYPE (11,                 0)
-RELOC_TYPE (64,                 0)
-RELOC_TYPE (OLO10,              0)
-RELOC_TYPE (HH22,               0)
-RELOC_TYPE (HM10,               0)
-RELOC_TYPE (LM22,               0)
-RELOC_TYPE (PC_HH22,            0)
-RELOC_TYPE (PC_HM10,            0)
-RELOC_TYPE (PC_LM22,            0)
-RELOC_TYPE (WDISP16,            0)
-RELOC_TYPE (WDISP19,            0)
-RELOC_TYPE (7,                  0)
-RELOC_TYPE (5,                  0)
-RELOC_TYPE (6,                  0)
-RELOC_TYPE (DISP64,             0)
-RELOC_TYPE (PLT64,              0)
-RELOC_TYPE (HIX22,              0)
-RELOC_TYPE (LOX10,              0)
-RELOC_TYPE (H44,                0)
-RELOC_TYPE (M44,                0)
-RELOC_TYPE (L44,                0)
-RELOC_TYPE (REGISTER,           0)
-RELOC_TYPE (UA64,               0)
-RELOC_TYPE (UA16,               0)
-RELOC_TYPE (TLS_GD_HI22,        0)
-RELOC_TYPE (TLS_GD_LO10,        0)
-RELOC_TYPE (TLS_GD_ADD,         0)
-RELOC_TYPE (TLS_GD_CALL,        0)
-RELOC_TYPE (TLS_LDM_HI22,       0)
-RELOC_TYPE (TLS_LDM_LO10,       0)
-RELOC_TYPE (TLS_LDM_ADD,        0)
-RELOC_TYPE (TLS_LDM_CALL,       0)
-RELOC_TYPE (TLS_LDO_HIX22,      0)
-RELOC_TYPE (TLS_LDO_LOX10,      0)
-RELOC_TYPE (TLS_LDO_ADD,        0)
-RELOC_TYPE (TLS_IE_HI22,        0)
-RELOC_TYPE (TLS_IE_LO10,        0)
-RELOC_TYPE (TLS_IE_LD,          0)
-RELOC_TYPE (TLS_IE_LDX,         0)
-RELOC_TYPE (TLS_IE_ADD,         0)
-RELOC_TYPE (TLS_LE_HIX22,       0)
-RELOC_TYPE (TLS_LE_LOX10,       0)
-RELOC_TYPE (TLS_DTPMOD32,       0)
-RELOC_TYPE (TLS_DTPMOD64,       0)
-RELOC_TYPE (TLS_DTPOFF32,       0)
-RELOC_TYPE (TLS_DTPOFF64,       0)
-RELOC_TYPE (TLS_TPOFF32,        0)
-RELOC_TYPE (TLS_TPOFF64,        0)
+RELOC_TYPE (UA32,               REL)
+RELOC_TYPE (PLT32,              REL)
+RELOC_TYPE (HIPLT22,            REL)
+RELOC_TYPE (LOPLT10,            REL)
+RELOC_TYPE (PCPLT32,            REL)
+RELOC_TYPE (PCPLT22,            REL)
+RELOC_TYPE (PCPLT10,            REL)
+RELOC_TYPE (10,                 REL)
+RELOC_TYPE (11,                 REL)
+RELOC_TYPE (64,                 REL|DYN)
+RELOC_TYPE (OLO10,              REL)
+RELOC_TYPE (HH22,               REL)
+RELOC_TYPE (HM10,               REL)
+RELOC_TYPE (LM22,               REL)
+RELOC_TYPE (PC_HH22,            REL)
+RELOC_TYPE (PC_HM10,            REL)
+RELOC_TYPE (PC_LM22,            REL)
+RELOC_TYPE (WDISP16,            REL)
+RELOC_TYPE (WDISP19,            REL)
+RELOC_TYPE (GLOB_JMP,          EXEC|DYN)
+RELOC_TYPE (7,                  REL)
+RELOC_TYPE (5,                  REL)
+RELOC_TYPE (6,                  REL)
+RELOC_TYPE (DISP64,             REL)
+RELOC_TYPE (PLT64,              REL)
+RELOC_TYPE (HIX22,              REL)
+RELOC_TYPE (LOX10,              REL)
+RELOC_TYPE (H44,                REL)
+RELOC_TYPE (M44,                REL)
+RELOC_TYPE (L44,                REL)
+RELOC_TYPE (REGISTER,           REL)
+RELOC_TYPE (UA64,               REL)
+RELOC_TYPE (UA16,               REL)
+RELOC_TYPE (TLS_GD_HI22,        REL)
+RELOC_TYPE (TLS_GD_LO10,        REL)
+RELOC_TYPE (TLS_GD_ADD,         REL)
+RELOC_TYPE (TLS_GD_CALL,        REL)
+RELOC_TYPE (TLS_LDM_HI22,       REL)
+RELOC_TYPE (TLS_LDM_LO10,       REL)
+RELOC_TYPE (TLS_LDM_ADD,        REL)
+RELOC_TYPE (TLS_LDM_CALL,       REL)
+RELOC_TYPE (TLS_LDO_HIX22,      REL)
+RELOC_TYPE (TLS_LDO_LOX10,      REL)
+RELOC_TYPE (TLS_LDO_ADD,        REL)
+RELOC_TYPE (TLS_IE_HI22,        REL)
+RELOC_TYPE (TLS_IE_LO10,        REL)
+RELOC_TYPE (TLS_IE_LD,          REL)
+RELOC_TYPE (TLS_IE_LDX,         REL)
+RELOC_TYPE (TLS_IE_ADD,         REL)
+RELOC_TYPE (TLS_LE_HIX22,       REL)
+RELOC_TYPE (TLS_LE_LOX10,       REL)
+RELOC_TYPE (TLS_DTPMOD32,       DYN)
+RELOC_TYPE (TLS_DTPMOD64,       DYN)
+RELOC_TYPE (TLS_DTPOFF32,       DYN)
+RELOC_TYPE (TLS_DTPOFF64,       DYN)
+RELOC_TYPE (TLS_TPOFF32,        DYN)
+RELOC_TYPE (TLS_TPOFF64,        DYN)
+RELOC_TYPE (GOTDATA_HIX22,     REL)
+RELOC_TYPE (GOTDATA_LOX10,     REL)
+RELOC_TYPE (GOTDATA_OP_HIX22,  DYN)
+RELOC_TYPE (GOTDATA_OP_LOX10,  DYN)
+RELOC_TYPE (GOTDATA_OP,                DYN)
+RELOC_TYPE (H34,               REL)
+RELOC_TYPE (SIZE32,            REL)
+RELOC_TYPE (SIZE64,            REL)
+RELOC_TYPE (GNU_VTINHERIT,     REL)
+RELOC_TYPE (GNU_VTENTRY,       REL)
+RELOC_TYPE (REV32,             REL)
index f1ba346a7402ce9b5ca2c14c94abda610ba654e6..83319c702930da403509073cce7a17ae9a127502 100644 (file)
@@ -1,3 +1,9 @@
+2009-04-01  Roland McGrath  <roland@redhat.com>
+
+       * eblsymboltypename.c (ebl_symbol_type_name): Add STT_GNU_IFUNC.
+
+       * eblauxvinfo.c (AUXV_TYPES): Add RANDOM and BASE_PLATFORM.
+
 2009-02-01  Ulrich Drepper  <drepper@redhat.com>
 
        * eblreloctypename.c (ebl_reloc_type_name): Return "<INVALID RELOC>"
index af65c47b9bf0916b8f7f6ae3716d65ff2d9e99ed..6e02403f98acf62efd36b4ecf1ee9c70781696f2 100644 (file)
@@ -1,5 +1,5 @@
 /* Describe known auxv types.
-   Copyright (C) 2007, 2008 Red Hat, Inc.
+   Copyright (C) 2007, 2008, 2009 Red Hat, Inc.
    This file is part of Red Hat elfutils.
 
    Red Hat elfutils is free software; you can redistribute it and/or modify
@@ -78,6 +78,7 @@
   TYPE (EGID, "u")                                                           \
   TYPE (CLKTCK, "u")                                                         \
   TYPE (PLATFORM, "s")                                                       \
+  TYPE (BASE_PLATFORM, "s")                                                  \
   TYPE (HWCAP, "x")                                                          \
   TYPE (FPUCW, "x")                                                          \
   TYPE (DCACHEBSIZE, "d")                                                    \
@@ -90,7 +91,8 @@
   TYPE (L1I_CACHESHAPE, "d")                                                 \
   TYPE (L1D_CACHESHAPE, "d")                                                 \
   TYPE (L2_CACHESHAPE, "d")                                                  \
-  TYPE (L3_CACHESHAPE, "d")
+  TYPE (L3_CACHESHAPE, "d")                                                  \
+  TYPE (RANDOM, "p")
 
 static const struct
 {
index c7cb2cba8951982f2ad8c2010a929989619862ed..6aae13ee445805541c29bfa750e045e538b3990f 100644 (file)
@@ -1,5 +1,5 @@
 /* Return symbol type name.
-   Copyright (C) 2001, 2002 Red Hat, Inc.
+   Copyright (C) 2001, 2002, 2009 Red Hat, Inc.
    This file is part of Red Hat elfutils.
    Written by Ulrich Drepper <drepper@redhat.com>, 2001.
 
@@ -86,6 +86,8 @@ ebl_symbol_type_name (ebl, symbol, buf, len)
        {
          if (symbol >= STT_LOPROC && symbol <= STT_HIPROC)
            snprintf (buf, len, "LOPROC+%d", symbol - STT_LOPROC);
+         else if (symbol == STT_GNU_IFUNC)
+           return "GNU_IFUNC";
          else if (symbol >= STT_LOOS && symbol <= STT_HIOS)
            snprintf (buf, len, "LOOS+%d", symbol - STT_LOOS);
          else
index 9b2a912f64cd13678fa9ba2cd78f308c202b30e3..d3b2b1e83be7862f81b666f0cad37b4bdcf2aaeb 100644 (file)
@@ -1,3 +1,7 @@
+2009-04-01  Roland McGrath  <roland@redhat.com>
+
+       * elf.h: Update from glibc.
+
 2009-02-10  Ulrich Drepper  <drepper@redhat.com>
 
        * elf32_updatefile.c (updatefile): For the zeroth section we still
index b4d34754a57cb85571f3c3d896974bc892d60359..6259350260e3e094b56f697cf19fafb49f9c4d28 100644 (file)
@@ -1,5 +1,5 @@
 /* This file defines standard ELF types, structures, and macros.
-   Copyright (C) 1995-2003,2004,2005,2006,2007,2008
+   Copyright (C) 1995-2003,2004,2005,2006,2007,2008,2009
        Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -459,6 +459,7 @@ typedef struct
 #define STT_TLS                6               /* Symbol is thread-local data object*/
 #define        STT_NUM         7               /* Number of defined types.  */
 #define STT_LOOS       10              /* Start of OS-specific */
+#define STT_GNU_IFUNC  10              /* Symbol is indirect code object */
 #define STT_HIOS       12              /* End of OS-specific */
 #define STT_LOPROC     13              /* Start of processor-specific */
 #define STT_HIPROC     15              /* End of processor-specific */
@@ -972,6 +973,10 @@ typedef struct
 
 #define        AT_SECURE       23              /* Boolean, was exec setuid-like?  */
 
+#define AT_BASE_PLATFORM 24            /* String identifying real platforms.*/
+
+#define AT_RANDOM      25              /* Address of 16 random bytes.  */
+
 #define AT_EXECFN      31              /* Filename of executable.  */
 
 /* Pointer to the global system page used for system calls and other
@@ -1241,6 +1246,7 @@ typedef struct
 #define R_SPARC_PC_LM22                39      /* Low miggle 22 bits of ... */
 #define R_SPARC_WDISP16                40      /* PC relative 16 bit shifted */
 #define R_SPARC_WDISP19                41      /* PC relative 19 bit shifted */
+#define R_SPARC_GLOB_JMP       42      /* was part of v9 ABI but was removed */
 #define R_SPARC_7              43      /* Direct 7 bit */
 #define R_SPARC_5              44      /* Direct 5 bit */
 #define R_SPARC_6              45      /* Direct 6 bit */
@@ -1278,8 +1284,19 @@ typedef struct
 #define R_SPARC_TLS_DTPOFF64   77
 #define R_SPARC_TLS_TPOFF32    78
 #define R_SPARC_TLS_TPOFF64    79
+#define R_SPARC_GOTDATA_HIX22  80
+#define R_SPARC_GOTDATA_LOX10  81
+#define R_SPARC_GOTDATA_OP_HIX22       82
+#define R_SPARC_GOTDATA_OP_LOX10       83
+#define R_SPARC_GOTDATA_OP     84
+#define R_SPARC_H34            85
+#define R_SPARC_SIZE32         86
+#define R_SPARC_SIZE64         87
+#define R_SPARC_GNU_VTINHERIT  250
+#define R_SPARC_GNU_VTENTRY    251
+#define R_SPARC_REV32          252
 /* Keep this the last entry.  */
-#define R_SPARC_NUM            80
+#define R_SPARC_NUM            253
 
 /* For Sparc64, legal values for d_tag of Elf64_Dyn.  */