about summary refs log tree commit diff
path: root/elf/elf.h
diff options
context:
space:
mode:
Diffstat (limited to 'elf/elf.h')
-rw-r--r--elf/elf.h43
1 files changed, 22 insertions, 21 deletions
diff --git a/elf/elf.h b/elf/elf.h
index 76f6c6865d..63d36b141c 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -19,46 +19,47 @@
    Boston, MA 02111-1307, USA.  */
 
 #ifndef _ELF_H
-
 #define	_ELF_H 1
+
 #include <sys/cdefs.h>
 
 __BEGIN_DECLS
 
-/* Standard ELF types.  Using __attribute__ mode ensures that GCC
-   will choose the right number of bits for these types.  */
+/* Standard ELF types.  */
+
+#include <inttypes.h>
 
 /* Type for a 16-bit quantity.  */
-typedef unsigned int Elf32_Half    __attribute__ ((mode (HI)));
-typedef unsigned int Elf64_Half    __attribute__ ((mode (HI)));
+typedef uint16_t Elf32_Half;
+typedef uint16_t Elf64_Half;
 
 /* Types for signed and unsigned 32-bit quantities.  */
-typedef unsigned int Elf32_Word    __attribute__ ((mode (SI)));
-typedef		 int Elf32_Sword   __attribute__ ((mode (SI)));
-typedef unsigned int Elf64_Word    __attribute__ ((mode (SI)));
-typedef		 int Elf64_Sword   __attribute__ ((mode (SI)));
+typedef uint32_t Elf32_Word;
+typedef	int32_t  Elf32_Sword;
+typedef uint32_t Elf64_Word;
+typedef	int32_t  Elf64_Sword;
 
 /* Types for signed and unsigned 64-bit quantities.  */
-typedef unsigned int Elf32_Xword   __attribute__ ((mode (DI)));
-typedef		 int Elf32_Sxword  __attribute__ ((mode (DI)));
-typedef unsigned int Elf64_Xword   __attribute__ ((mode (DI)));
-typedef		 int Elf64_Sxword  __attribute__ ((mode (DI)));
+typedef uint64_t Elf32_Xword;
+typedef	int64_t  Elf32_Sxword;
+typedef uint64_t Elf64_Xword;
+typedef	int64_t  Elf64_Sxword;
 
 /* Type of addresses.  */
-typedef unsigned int Elf32_Addr    __attribute__ ((mode (SI)));
-typedef unsigned int Elf64_Addr    __attribute__ ((mode (DI)));
+typedef uint32_t Elf32_Addr;
+typedef uint64_t Elf64_Addr;
 
 /* Type of file offsets.  */
-typedef unsigned int Elf32_Off     __attribute__ ((mode (SI)));
-typedef unsigned int Elf64_Off     __attribute__ ((mode (DI)));
+typedef uint32_t Elf32_Off;
+typedef uint64_t Elf64_Off;
 
 /* Type for section indices, which are 16-bit quantities.  */
-typedef unsigned int Elf32_Section __attribute__ ((mode (HI)));
-typedef unsigned int Elf64_Section __attribute__ ((mode (HI)));
+typedef uint16_t Elf32_Section;
+typedef uint16_t Elf64_Section;
 
 /* Type of symbol indices.  */
-typedef unsigned int Elf32_Symndx  __attribute__ ((mode (SI)));
-typedef unsigned int Elf64_Symndx  __attribute__ ((mode (DI)));
+typedef uint32_t Elf32_Symndx;
+typedef uint64_t Elf64_Symndx;
 
 
 /* The ELF file header.  This appears at the start of every ELF file.  */