Include missing support-s390x.h header file absent from 3.10.0 tarball
Former-commit-id: 2124890344c47ce056eda8ecaec47b1f4eab78bd
This commit is contained in:
parent
aaad02ad6e
commit
80e9e0e5cd
98
debian/patches/include_missing_s390x_header.patch
vendored
Normal file
98
debian/patches/include_missing_s390x_header.patch
vendored
Normal file
@ -0,0 +1,98 @@
|
||||
Index: xamarin-pkg-mono/mono/mini/support-s390x.h
|
||||
===================================================================
|
||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||
+++ xamarin-pkg-mono/mono/mini/support-s390x.h 2014-10-27 22:55:28.660079050 +0000
|
||||
@@ -0,0 +1,93 @@
|
||||
+#ifndef __MONO_SUPPORT_S390X_H__
|
||||
+#define __MONO_SUPPORT_S390X_H__
|
||||
+
|
||||
+#define S390_SET(loc, dr, v) \
|
||||
+ do { \
|
||||
+ guint64 val = (guint64) v; \
|
||||
+ if (s390_is_uimm16(val)) { \
|
||||
+ s390_llill(loc, dr, val); \
|
||||
+ } else if (s390_is_uimm32(val)) { \
|
||||
+ s390_llilf(loc, dr, val); \
|
||||
+ } else { \
|
||||
+ guint32 hi = (val) >> 32; \
|
||||
+ guint32 lo = (val) & 0xffffffff; \
|
||||
+ s390_iihf(loc, dr, hi); \
|
||||
+ s390_iilf(loc, dr, lo); \
|
||||
+ } \
|
||||
+ } while (0)
|
||||
+
|
||||
+#define S390_LONG(loc, opy, op, r, ix, br, off) \
|
||||
+ if (s390_is_imm20(off)) { \
|
||||
+ s390_##opy (loc, r, ix, br, off); \
|
||||
+ } else { \
|
||||
+ if (ix == 0) { \
|
||||
+ S390_SET(loc, s390_r13, off); \
|
||||
+ s390_la (loc, s390_r13, s390_r13, br, 0); \
|
||||
+ } else { \
|
||||
+ s390_la (loc, s390_r13, ix, br, 0); \
|
||||
+ S390_SET (loc, s390_r0, off); \
|
||||
+ s390_agr (loc, s390_r13, s390_r0); \
|
||||
+ } \
|
||||
+ s390_##op (loc, r, 0, s390_r13, 0); \
|
||||
+ }
|
||||
+
|
||||
+#define S390_SET_MASK(loc, dr, v) \
|
||||
+ do { \
|
||||
+ if (s390_is_imm16 (v)) { \
|
||||
+ s390_lghi (loc, dr, v); \
|
||||
+ } else if (s390_is_imm32 (v)) { \
|
||||
+ s390_lgfi (loc, dr, v); \
|
||||
+ } else { \
|
||||
+ gint64 val = (gint64) v; \
|
||||
+ guint32 hi = (val) >> 32; \
|
||||
+ guint32 lo = (val) & 0xffffffff; \
|
||||
+ s390_iilf(loc, dr, lo); \
|
||||
+ s390_iihf(loc, dr, hi); \
|
||||
+ } \
|
||||
+ } while (0)
|
||||
+
|
||||
+#define S390_CALL_TEMPLATE(loc, r) \
|
||||
+ do { \
|
||||
+ s390_iihf (loc, r, 0); \
|
||||
+ s390_iilf (loc, r, 0); \
|
||||
+ s390_basr (loc, s390_r14, r); \
|
||||
+ } while (0)
|
||||
+
|
||||
+#define S390_BR_TEMPLATE(loc, r) \
|
||||
+ do { \
|
||||
+ s390_iihf (loc, r, 0); \
|
||||
+ s390_iilf (loc, r, 0); \
|
||||
+ s390_br (loc, r); \
|
||||
+ } while (0)
|
||||
+
|
||||
+#define S390_LOAD_TEMPLATE(loc, r) \
|
||||
+ do { \
|
||||
+ s390_iihf (loc, r, 0); \
|
||||
+ s390_iilf (loc, r, 0); \
|
||||
+ } while (0)
|
||||
+
|
||||
+#define S390_EMIT_CALL(loc, t) \
|
||||
+ do { \
|
||||
+ gint64 val = (gint64) t; \
|
||||
+ guint32 hi = (val) >> 32; \
|
||||
+ guint32 lo = (val) & 0xffffffff; \
|
||||
+ uintptr_t p = (uintptr_t) loc; \
|
||||
+ p += 2; \
|
||||
+ *(guint32 *) p = hi; \
|
||||
+ p += 6; \
|
||||
+ *(guint32 *) p = lo; \
|
||||
+ } while (0)
|
||||
+
|
||||
+#define S390_EMIT_LOAD(loc, v) \
|
||||
+ do { \
|
||||
+ gint64 val = (gint64) v; \
|
||||
+ guint32 hi = (val) >> 32; \
|
||||
+ guint32 lo = (val) & 0xffffffff; \
|
||||
+ uintptr_t p = (uintptr_t) loc; \
|
||||
+ p += 2; \
|
||||
+ *(guint32 *) p = hi; \
|
||||
+ p += 6; \
|
||||
+ *(guint32 *) p = lo; \
|
||||
+ } while (0)
|
||||
+
|
||||
+#endif /* __MONO_SUPPORT_S390X_H__ */
|
1
debian/patches/series
vendored
Normal file
1
debian/patches/series
vendored
Normal file
@ -0,0 +1 @@
|
||||
include_missing_s390x_header.patch
|
Loading…
x
Reference in New Issue
Block a user