summaryrefslogtreecommitdiff
path: root/firefox-1.0-xptcall-s390.patch
diff options
context:
space:
mode:
Diffstat (limited to 'firefox-1.0-xptcall-s390.patch')
-rw-r--r--firefox-1.0-xptcall-s390.patch107
1 files changed, 107 insertions, 0 deletions
diff --git a/firefox-1.0-xptcall-s390.patch b/firefox-1.0-xptcall-s390.patch
new file mode 100644
index 0000000..2de02ee
--- /dev/null
+++ b/firefox-1.0-xptcall-s390.patch
@@ -0,0 +1,107 @@
+diff -ur mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in mozilla-xx/xpcom/reflect/xptcall/src/md/unix/Makefile.in
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-04-22 22:50:05.000000000 +0200
++++ mozilla-xx/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-12-03 11:19:41.560694658 +0100
+@@ -341,10 +341,12 @@
+ #
+ ifeq ($(OS_ARCH)$(OS_TEST),Linuxs390)
+ CPPSRCS := xptcinvoke_linux_s390.cpp xptcstubs_linux_s390.cpp
++CXXFLAGS += -fno-strict-aliasing -fno-inline -fomit-frame-pointer -mbackchain
+ endif
+
+ ifeq ($(OS_ARCH)$(OS_TEST),Linuxs390x)
+ CPPSRCS := xptcinvoke_linux_s390x.cpp xptcstubs_linux_s390x.cpp
++CXXFLAGS += -fno-strict-aliasing -fno-inline -fomit-frame-pointer -mbackchain
+ endif
+
+
+diff -ur mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp mozilla-xx/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp 2004-12-03 12:18:27.110694658 +0100
++++ mozilla-xx/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390.cpp 2004-12-03 12:27:05.100694658 +0100
+@@ -184,8 +184,6 @@
+ }
+ }
+
+-volatile register void* r14 asm("r14");
+-
+ XPTC_PUBLIC_API(nsresult)
+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
+ PRUint32 paramCount, nsXPTCVariant* params)
+@@ -199,8 +197,6 @@
+ PRUint32 overflow = invoke_count_words (paramCount, params);
+ PRUint32 result;
+
+- volatile void* sav_r14 = r14;
+-
+ __asm__ __volatile__
+ (
+ "lr 7,15\n\t"
+@@ -235,10 +231,8 @@
+ "a" (invoke_copy_to_stack),
+ "a" (that),
+ "a" (method)
+- : "2", "3", "4", "5", "6", "7", "memory"
++ : "2", "3", "4", "5", "6", "7", "14", "cc", "memory", "%f0", "%f2"
+ );
+-
+- r14 = sav_r14;
+
+ return result;
+ }
+diff -ur mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp mozilla-xx/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp 2004-12-03 12:18:27.110694658 +0100
++++ mozilla-xx/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_s390x.cpp 2004-12-03 12:26:44.500694658 +0100
+@@ -178,8 +178,6 @@
+ }
+ }
+
+-volatile register void* r14 asm("r14");
+-
+ XPTC_PUBLIC_API(nsresult)
+ XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
+ PRUint32 paramCount, nsXPTCVariant* params)
+@@ -193,8 +191,6 @@
+ PRUint64 overflow = invoke_count_words (paramCount, params);
+ PRUint64 result;
+
+- volatile void* sav_r14 = r14;
+-
+ __asm__ __volatile__
+ (
+ "lgr 7,15\n\t"
+@@ -231,10 +227,9 @@
+ "a" (invoke_copy_to_stack),
+ "a" (that),
+ "a" (method)
+- : "2", "3", "4", "5", "6", "7", "memory"
++ : "2", "3", "4", "5", "6", "7", "14", "cc", "memory",
++ "%f0", "%f1", "%f2", "%f3", "%f4", "%f5", "%f6", "%f7"
+ );
+-
+- r14 = sav_r14;
+
+ return result;
+ }
+diff -ur mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_s390.cpp mozilla-xx/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_s390.cpp
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_s390.cpp 2004-12-03 12:18:27.110694658 +0100
++++ mozilla-xx/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_s390.cpp 2004-12-03 11:16:55.400694658 +0100
+@@ -177,7 +177,7 @@
+ \
+ __asm__ __volatile__ \
+ ( \
+- "lr %0,15\n\t" \
++ "l %0,0(15)\n\t" \
+ "ahi %0,96\n\t" \
+ "stm 3,6,0(%3)\n\t" \
+ "std 0,%1\n\t" \
+diff -ur mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_s390x.cpp mozilla-xx/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_s390x.cpp
+--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_s390x.cpp 2004-12-03 12:18:27.110694658 +0100
++++ mozilla-xx/xpcom/reflect/xptcall/src/md/unix/xptcstubs_linux_s390x.cpp 2004-12-03 11:17:16.360694658 +0100
+@@ -177,7 +177,7 @@
+ \
+ __asm__ __volatile__ \
+ ( \
+- "lgr %0,15\n\t" \
++ "lg %0,0(15)\n\t" \
+ "aghi %0,160\n\t" \
+ "stmg 3,6,0(%5)\n\t"\
+ "std 0,%1\n\t" \
bgstack15