binutils/
[deliverable/binutils-gdb.git] / include / elf / internal.h
index 26e7db6a8e87d5c39bfb0971d916ddc8ab845c12..7e13d54a9535b588186768cc7fcbfed61cf0903b 100644 (file)
@@ -1,6 +1,6 @@
 /* ELF support for BFD.
-   Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001
-   Free Software Foundation, Inc.
+   Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1998, 2000, 2001, 2002,
+   2003 Free Software Foundation, Inc.
 
    Written by Fred Fish @ Cygnus Support, from information published
    in "UNIX System V Release 4, Programmers Guide: ANSI C and
@@ -20,7 +20,7 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.  */
 
 
 /* This file is part of ELF support for BFD, and contains the portions
@@ -50,19 +50,14 @@ typedef struct elf_internal_ehdr {
   unsigned long                e_flags;        /* Processor-specific flags */
   unsigned short       e_type;         /* Identifies object file type */
   unsigned short       e_machine;      /* Specifies required architecture */
-  unsigned short       e_ehsize;       /* ELF header size in bytes */
-  unsigned short       e_phentsize;    /* Program header table entry size */
-  unsigned short       e_phnum;        /* Program header table entry count */
-  unsigned short       e_shentsize;    /* Section header table entry size */
-  unsigned short       e_shnum;        /* Section header table entry count */
-  unsigned short       e_shstrndx;     /* Section header string table index */
+  unsigned int         e_ehsize;       /* ELF header size in bytes */
+  unsigned int         e_phentsize;    /* Program header table entry size */
+  unsigned int         e_phnum;        /* Program header table entry count */
+  unsigned int         e_shentsize;    /* Section header table entry size */
+  unsigned int         e_shnum;        /* Section header table entry count */
+  unsigned int         e_shstrndx;     /* Section header string table index */
 } Elf_Internal_Ehdr;
 
-#define elf32_internal_ehdr elf_internal_ehdr
-#define Elf32_Internal_Ehdr Elf_Internal_Ehdr
-#define elf64_internal_ehdr elf_internal_ehdr
-#define Elf64_Internal_Ehdr Elf_Internal_Ehdr
-
 /* Program header */
 
 struct elf_internal_phdr {
@@ -77,10 +72,6 @@ struct elf_internal_phdr {
 };
 
 typedef struct elf_internal_phdr Elf_Internal_Phdr;
-#define elf32_internal_phdr elf_internal_phdr
-#define Elf32_Internal_Phdr Elf_Internal_Phdr
-#define elf64_internal_phdr elf_internal_phdr
-#define Elf64_Internal_Phdr Elf_Internal_Phdr
 
 /* Section header */
 
@@ -101,11 +92,6 @@ typedef struct elf_internal_shdr {
   unsigned char *contents;             /* Section contents.  */
 } Elf_Internal_Shdr;
 
-#define elf32_internal_shdr elf_internal_shdr
-#define Elf32_Internal_Shdr Elf_Internal_Shdr
-#define elf64_internal_shdr elf_internal_shdr
-#define Elf64_Internal_Shdr Elf_Internal_Shdr
-
 /* Symbol table entry */
 
 struct elf_internal_sym {
@@ -114,16 +100,11 @@ struct elf_internal_sym {
   unsigned long        st_name;                /* Symbol name, index in string tbl */
   unsigned char        st_info;                /* Type and binding attributes */
   unsigned char        st_other;               /* Visibilty, and target specific */
-  unsigned short st_shndx;             /* Associated section index */
+  unsigned int  st_shndx;              /* Associated section index */
 };
 
 typedef struct elf_internal_sym Elf_Internal_Sym;
 
-#define elf32_internal_sym elf_internal_sym
-#define elf64_internal_sym elf_internal_sym
-#define Elf32_Internal_Sym Elf_Internal_Sym
-#define Elf64_Internal_Sym Elf_Internal_Sym
-
 /* Note segments */
 
 typedef struct elf_internal_note {
@@ -134,33 +115,15 @@ typedef struct elf_internal_note {
   char *       descdata;               /* Start of the desc data */
   bfd_vma      descpos;                /* File offset of the descdata */
 } Elf_Internal_Note;
-#define Elf32_Internal_Note    Elf_Internal_Note
-#define elf32_internal_note    elf_internal_note
 
 /* Relocation Entries */
 
-typedef struct elf_internal_rel {
-  bfd_vma      r_offset;       /* Location at which to apply the action */
-  /* This needs to support 64-bit values in elf64.  */
-  bfd_vma      r_info;         /* index and type of relocation */
-} Elf_Internal_Rel;
-
-#define elf32_internal_rel elf_internal_rel
-#define Elf32_Internal_Rel Elf_Internal_Rel
-#define elf64_internal_rel elf_internal_rel
-#define Elf64_Internal_Rel Elf_Internal_Rel
-
 typedef struct elf_internal_rela {
   bfd_vma      r_offset;       /* Location at which to apply the action */
   bfd_vma      r_info;         /* Index and Type of relocation */
   bfd_vma      r_addend;       /* Constant addend used to compute value */
 } Elf_Internal_Rela;
 
-#define elf32_internal_rela elf_internal_rela
-#define elf64_internal_rela elf_internal_rela
-#define Elf32_Internal_Rela Elf_Internal_Rela
-#define Elf64_Internal_Rela Elf_Internal_Rela
-
 /* dynamic section structure */
 
 typedef struct elf_internal_dyn {
@@ -173,11 +136,6 @@ typedef struct elf_internal_dyn {
   } d_un;
 } Elf_Internal_Dyn;
 
-#define elf32_internal_dyn elf_internal_dyn
-#define elf64_internal_dyn elf_internal_dyn
-#define Elf32_Internal_Dyn Elf_Internal_Dyn
-#define Elf64_Internal_Dyn Elf_Internal_Dyn
-
 /* This structure appears in a SHT_GNU_verdef section.  */
 
 typedef struct elf_internal_verdef {
@@ -256,30 +214,13 @@ typedef struct
   unsigned short int   si_flags;
 } Elf_Internal_Syminfo;
 
+/* This structure appears on the stack and in NT_AUXV core file notes.  */
+typedef struct
+{
+  bfd_vma a_type;
+  bfd_vma a_val;
+} Elf_Internal_Auxv;
 
-#define elf32_internal_verdef elf_internal_verdef
-#define elf64_internal_verdef elf_internal_verdef
-#define elf32_internal_verdaux elf_internal_verdaux
-#define elf64_internal_verdaux elf_internal_verdaux
-#define elf32_internal_verneed elf_internal_verneed
-#define elf64_internal_verneed elf_internal_verneed
-#define elf32_internal_vernaux elf_internal_vernaux
-#define elf64_internal_vernaux elf_internal_vernaux
-#define elf32_internal_versym elf_internal_versym
-#define elf64_internal_versym elf_internal_versym
-
-#define Elf32_Internal_Verdef Elf_Internal_Verdef
-#define Elf64_Internal_Verdef Elf_Internal_Verdef
-#define Elf32_Internal_Verdaux Elf_Internal_Verdaux
-#define Elf64_Internal_Verdaux Elf_Internal_Verdaux
-#define Elf32_Internal_Verneed Elf_Internal_Verneed
-#define Elf64_Internal_Verneed Elf_Internal_Verneed
-#define Elf32_Internal_Vernaux Elf_Internal_Vernaux
-#define Elf64_Internal_Vernaux Elf_Internal_Vernaux
-#define Elf32_Internal_Versym Elf_Internal_Versym
-#define Elf64_Internal_Versym Elf_Internal_Versym
-#define Elf32_Internal_Syminfo Elf_Internal_Syminfo
-#define Elf64_Internal_Syminfo Elf_Internal_Syminfo
 
 /* This structure is used to describe how sections should be assigned
    to program segments.  */
This page took 0.029 seconds and 4 git commands to generate.