summaryrefslogtreecommitdiff
path: root/elf/elf.h
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2000-08-02 16:07:29 +0000
committerAndreas Jaeger <aj@suse.de>2000-08-02 16:07:29 +0000
commit7daf1a1b3533dd1e66cfba7b046e991ed6f5c6d2 (patch)
tree6354c95cb7eb5d0ca04f73801b976ab44c32e98f /elf/elf.h
parent543a70cc8e6cb8d5b6664aa8ed220c2b7bd67b79 (diff)
* elf/elf.h (EM_S390): Added.
(R_390_*): New relocs for S390.
Diffstat (limited to 'elf/elf.h')
-rw-r--r--elf/elf.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/elf/elf.h b/elf/elf.h
index ce04184fa6..ce01fdf2bb 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -222,6 +222,7 @@ typedef struct
chances of collision with official or non-GNU unofficial values. */
#define EM_ALPHA 0x9026
+#define EM_S390 0xA390 /* IBM S390 */
/* Legal values for e_version (version). */
@@ -1927,6 +1928,30 @@ typedef Elf32_Addr Elf32_Conflict;
/* Keep this the last entry. */
#define R_SH_NUM 256
+/* Additional s390 relocs */
+
+#define R_390_NONE 0 /* No reloc. */
+#define R_390_8 1 /* Direct 8 bit. */
+#define R_390_12 2 /* Direct 12 bit. */
+#define R_390_16 3 /* Direct 16 bit. */
+#define R_390_32 4 /* Direct 32 bit. */
+#define R_390_PC32 5 /* PC relative 32 bit. */
+#define R_390_GOT12 6 /* 12 bit GOT offset. */
+#define R_390_GOT32 7 /* 32 bit GOT offset. */
+#define R_390_PLT32 8 /* 32 bit PC relative PLT address. */
+#define R_390_COPY 9 /* Copy symbol at runtime. */
+#define R_390_GLOB_DAT 10 /* Create GOT entry. */
+#define R_390_JMP_SLOT 11 /* Create PLT entry. */
+#define R_390_RELATIVE 12 /* Adjust by program base. */
+#define R_390_GOTOFF 13 /* 32 bit offset to GOT. */
+#define R_390_GOTPC 14 /* 32 bit PC relative offset to GOT. */
+#define R_390_GOT16 15 /* 16 bit GOT offset. */
+#define R_390_PC16 16 /* PC relative 16 bit. */
+#define R_390_PC16DBL 17 /* PC relative 16 bit shifted by 1. */
+#define R_390_PLT16DBL 18 /* 32 bit PC rel. PLT shifted by 1. */
+/* Keep this the last entry. */
+#define R_390_NUM 19
+
__END_DECLS
#endif /* elf.h */