OSDN Git Service

Some arches (like the Blackfin architecture) have an ABI where all symbols
[uclinux-h8/elf2flt.git] / cygwin-elf.h
index 9d91d7a..2523c0e 100644 (file)
 #ifndef _ELF_H
 #define        _ELF_H 1
 
+#if    defined(__MINGW32__)
+#include <stdint.h>
+typedef uint16_t u_int16_t;
+typedef uint32_t u_int32_t;
+typedef uint64_t u_int64_t;
+#else
 #include <features.h>
-
+#endif
 /* Standard ELF types.  */
 
 #include <sys/types.h>
@@ -2091,4 +2097,75 @@ typedef Elf32_Addr Elf32_Conflict;
 
 #define R_CRIS_NUM             20
 
+#define R_MICROBLAZE_NONE              0
+#define R_MICROBLAZE_32                1
+#define R_MICROBLAZE_32_PCREL          2
+#define R_MICROBLAZE_64_PCREL          3
+#define R_MICROBLAZE_32_PCREL_LO       4
+#define R_MICROBLAZE_64                5
+#define R_MICROBLAZE_32_LO             6
+#define R_MICROBLAZE_SRO32             7
+#define R_MICROBLAZE_SRW32             8
+#define R_MICROBLAZE_64_NONE           9
+#define R_MICROBLAZE_32_SYM_OP_SYM     10
+#define R_MICROBLAZE_GNU_VTINHERIT     11
+#define R_MICROBLAZE_GNU_VTENTRY       12
+
+#define R_MICROBLAZE_NUM               13
+
+/* Altera NIOS specific definitions.  */
+
+#define FLAT_NIOS2_R_32                        0 /* Normal 32-bit reloc */
+#define FLAT_NIOS2_R_HI_LO             1
+#define FLAT_NIOS2_R_HIADJ_LO  2
+#define FLAT_NIOS2_R_CALL26            4
+
+/* NIOS relocations. */
+#define R_NIOS_NONE                            0
+#define R_NIOS_32                              1       /* A 32 bit absolute relocation.*/
+#define R_NIOS_LO16_LO5                        2       /* A LO-16 5 bit absolute relocation.  */
+#define R_NIOS_LO16_HI11               3       /* A LO-16 top 11 bit absolute relocation.  */
+#define R_NIOS_HI16_LO5                        4       /* A HI-16 5 bit absolute relocation.  */
+#define R_NIOS_HI16_HI11               5       /* A HI-16 top 11 bit absolute relocation.  */
+#define R_NIOS_PCREL6                  6       /* A 6 bit relative relocation.  */
+#define R_NIOS_PCREL8                  7       /* An 8 bit relative relocation.  */
+#define R_NIOS_PCREL11                 8       /* An 11 bit relative relocation.  */
+#define R_NIOS_16                              9       /* A 16 bit absolute relocation.  */
+#define R_NIOS_H_LO5                   10      /* Low 5-bits of absolute relocation in halfwords.  */
+#define R_NIOS_H_HI11                  11      /* Top 11 bits of 16-bit absolute relocation in halfwords.  */
+#define R_NIOS_H_XLO5                  12      /* Low 5 bits of top 16-bits of 32-bit absolute relocation in halfwords.  */
+#define R_NIOS_H_XHI11                 13      /* Top 11 bits of top 16-bits of 32-bit absolute relocation in halfwords.  */
+#define R_NIOS_H_16                            14      /* Half-word @h value */
+#define R_NIOS_H_32                            15      /* Word @h value */
+#define R_NIOS_GNU_VTINHERIT   200     /* GNU extension to record C++ vtable hierarchy */
+#define R_NIOS_GNU_VTENTRY             201     /* GNU extension to record C++ vtable member usage */
+/* Keep this the last entry.  */
+#define R_NIOS_NUM                             202
+
+/* NIOS II relocations */
+#define R_NIOS2_NONE                   0
+#define R_NIOS2_S16                            1
+#define R_NIOS2_U16                            2
+#define R_NIOS2_PCREL16                        3
+#define R_NIOS2_CALL26                 4
+#define R_NIOS2_IMM5                   5
+#define R_NIOS2_CACHE_OPX              6
+#define R_NIOS2_IMM6                   7
+#define R_NIOS2_IMM8                   8
+#define R_NIOS2_HI16                   9
+#define R_NIOS2_LO16                   10
+#define R_NIOS2_HIADJ16                11
+#define R_NIOS2_BFD_RELOC_32   12
+#define R_NIOS2_BFD_RELOC_16   13
+#define R_NIOS2_BFD_RELOC_8    14
+#define R_NIOS2_GPREL                  15
+#define R_NIOS2_GNU_VTINHERIT  16
+#define R_NIOS2_GNU_VTENTRY    17
+#define R_NIOS2_UJMP                   18
+#define R_NIOS2_CJMP                   19
+#define R_NIOS2_CALLR                  20
+#define R_NIOS2_ALIGN                  21
+/* Keep this the last entry.  */
+#define R_NIOS2_NUM                            22
+
 #endif /* elf.h */