summaryrefslogtreecommitdiff
path: root/arch/s390x/reloc.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390x/reloc.h')
-rw-r--r--arch/s390x/reloc.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/s390x/reloc.h b/arch/s390x/reloc.h
new file mode 100644
index 00000000..a238dc65
--- /dev/null
+++ b/arch/s390x/reloc.h
@@ -0,0 +1,15 @@
+#include <endian.h>
+
+#define LDSO_ARCH "s390x"
+
+#define REL_SYMBOLIC R_390_64
+#define REL_GOT R_390_GLOB_DAT
+#define REL_PLT R_390_JMP_SLOT
+#define REL_RELATIVE R_390_RELATIVE
+#define REL_COPY R_390_COPY
+#define REL_DTPMOD R_390_TLS_DTPMOD
+#define REL_DTPOFF R_390_TLS_DTPOFF
+#define REL_TPOFF R_390_TLS_TPOFF
+
+#define CRTJMP(pc,sp) __asm__ __volatile__( \
+ "lgr %%r15,%1; br %0" : : "r"(pc), "r"(sp) : "memory" )