summaryrefslogtreecommitdiff
path: root/lang/parrot/patches
diff options
context:
space:
mode:
Diffstat (limited to 'lang/parrot/patches')
-rw-r--r--lang/parrot/patches/patch-aa56
-rw-r--r--lang/parrot/patches/patch-ab19
-rw-r--r--lang/parrot/patches/patch-ac90
3 files changed, 165 insertions, 0 deletions
diff --git a/lang/parrot/patches/patch-aa b/lang/parrot/patches/patch-aa
new file mode 100644
index 00000000000..1330f83e571
--- /dev/null
+++ b/lang/parrot/patches/patch-aa
@@ -0,0 +1,56 @@
+$NetBSD: patch-aa,v 1.4 2009/03/25 23:01:48 he Exp $
+
+NetBSD's powerpc assembler wants % in front of registers, and
+the C compiler doesn't prepend _ to symbols it emits.
+
+--- src/jit/ppc/asm.s.orig 2009-03-08 21:32:42.000000000 +0100
++++ src/jit/ppc/asm.s
+@@ -1,25 +1,30 @@
+ .text
+ .align 12
++#ifdef __linux__
+ .globl _Parrot_ppc_jit_restore_nonvolatile_registers
+ _Parrot_ppc_jit_restore_nonvolatile_registers:
++#else
++ .globl Parrot_ppc_jit_restore_nonvolatile_registers
++Parrot_ppc_jit_restore_nonvolatile_registers:
++#endif
+
+- lfd f14,-84(r1)
+- lfd f15,-92(r1)
+- lfd f16,-100(r1)
+- lfd f17,-108(r1)
+- lfd f18,-116(r1)
+- lfd f19,-124(r1)
+- lfd f20,-132(r1)
+- lfd f21,-140(r1)
+- lfd f22,-148(r1)
+- lfd f23,-156(r1)
+- lfd f24,-164(r1)
+- lfd f25,-172(r1)
+- lfd f26,-180(r1)
+- lfd f27,-188(r1)
+- lfd f28,-196(r1)
+- lfd f29,-204(r1)
+- lfd f30,-212(r1)
+- lfd f31,-220(r1)
++ lfd %f14,-84(%r1)
++ lfd %f15,-92(%r1)
++ lfd %f16,-100(%r1)
++ lfd %f17,-108(%r1)
++ lfd %f18,-116(%r1)
++ lfd %f19,-124(%r1)
++ lfd %f20,-132(%r1)
++ lfd %f21,-140(%r1)
++ lfd %f22,-148(%r1)
++ lfd %f23,-156(%r1)
++ lfd %f24,-164(%r1)
++ lfd %f25,-172(%r1)
++ lfd %f26,-180(%r1)
++ lfd %f27,-188(%r1)
++ lfd %f28,-196(%r1)
++ lfd %f29,-204(%r1)
++ lfd %f30,-212(%r1)
++ lfd %f31,-220(%r1)
+
+ blr
diff --git a/lang/parrot/patches/patch-ab b/lang/parrot/patches/patch-ab
new file mode 100644
index 00000000000..e78667d61ca
--- /dev/null
+++ b/lang/parrot/patches/patch-ab
@@ -0,0 +1,19 @@
+$NetBSD: patch-ab,v 1.4 2009/03/25 23:01:48 he Exp $
+
+Handle a few ELF-related symbols named differently in NetBSD
+compared to Linux.
+
+--- src/exec_save.c.orig 2009-03-08 21:32:43.000000000 +0100
++++ src/exec_save.c
+@@ -30,6 +30,11 @@ static void save_int(FILE *fp, int i);
+ static void save_short(FILE *fp, short s);
+ static void save_struct(FILE *fp, void *sp, size_t size);
+
++#if defined(PARROT_PPC) && defined(__NetBSD__)
++#define R_PPC_ADDR16_HI R_PPC_16_HI
++#define R_PPC_ADDR16_LO R_PPC_16_LO
++#endif /* PARROT_PPC && __NetBSD__ */
++
+ #ifdef EXEC_A_OUT
+
+ # include <a.out.h>
diff --git a/lang/parrot/patches/patch-ac b/lang/parrot/patches/patch-ac
new file mode 100644
index 00000000000..60f26585f93
--- /dev/null
+++ b/lang/parrot/patches/patch-ac
@@ -0,0 +1,90 @@
+$NetBSD: patch-ac,v 1.4 2009/03/25 23:01:48 he Exp $
+
+Undo a GNUism, using == with test in place of =.
+
+--- tools/dev/mk_native_pbc.orig 2009-03-09 05:19:51.000000000 +0100
++++ tools/dev/mk_native_pbc
+@@ -37,16 +37,16 @@ ptrsize=$(./parrot_config ptrsize)
+ # 8 or 12 or 16 on intel
+ numvalsize=$(./parrot_config numvalsize)
+
+-if [ "$ptrsize" == "4" ]
++if [ "$ptrsize" = "4" ]
+ then
+- if [ "$byteorder" == "1234" ]
++ if [ "$byteorder" = "1234" ]
+ then
+- if [ "$numvalsize" == "12" ]
++ if [ "$numvalsize" = "12" ]
+ then
+ N=2
+ echo "2: i386 32-bit opcode_t, 32-bit intval, 12-byte long double"
+ else
+- if [ "$numvalsize" == "4" ]
++ if [ "$numvalsize" = "4" ]
+ then
+ N=8
+ echo "8: i386 32-bit opcode_t, 32-bit intval, 4-byte float"
+@@ -60,13 +60,13 @@ then
+ fi
+ fi
+ else
+- if [ "$byteorder" == "4321" ]
++ if [ "$byteorder" = "4321" ]
+ then
+ N=3
+ echo "3: PPC BE 32 bit opcode_t, 32 bit intval"
+ else
+- if [ "$byteorder" == "12345678" \
+- -a "$(./parrot_config osname)" == "cygwin" ]
++ if [ "$byteorder" = "12345678" \
++ -a "$(./parrot_config osname)" = "cygwin" ]
+ then
+ echo "1: cygwin use64bitint"
+ N=1
+@@ -78,11 +78,11 @@ then
+ fi
+ fi
+ else
+- if [ "$ptrsize" == "8" ]
++ if [ "$ptrsize" = "8" ]
+ then
+- if [ "$byteorder" == "12345678" ]
++ if [ "$byteorder" = "12345678" ]
+ then
+- if [ "$numvalsize" == "8" ]
++ if [ "$numvalsize" = "8" ]
+ then
+ N=4
+ echo "4: x86_64 double float 64 bit opcode_t, 8-byte double"
+@@ -95,7 +95,7 @@ else
+ echo "5: x86_64 64 bit opcode_t, 16-byte long double"
+ fi
+ else
+- if [ "$numvalsize" == "8" ]
++ if [ "$numvalsize" = "8" ]
+ then
+ N=6
+ echo "6: big-endian 64-bit"
+@@ -139,8 +139,8 @@ perl t/harness t/native_pbc/integer.t &&
+ perl t/harness t/native_pbc/number.t && \
+ perl t/harness t/native_pbc/string.t
+
+-if [ "$enable_long_double" == "1" ]; then
+- if [ "$1" == "--noconf" ]; then
++if [ "$enable_long_double" = "1" ]; then
++ if [ "$1" = "--noconf" ]; then
+ echo "Hmm. You have no long double, and we want to try --floatval=long double"
+ echo "However for this you must reconfigure your parrot and you gave --noconf"
+ exit
+@@ -151,8 +151,8 @@ if [ "$enable_long_double" == "1" ]; the
+ make -s || exit 1
+ hugefloatvalsize=$(./parrot_config hugefloatvalsize)
+ numvalsize=$(./parrot_config numvalsize)
+- #if [ "hugefloatvalsize" == "12" ]; then echo "Only 12 byte long double. Sorry"; exit; fi
+- #if [ "numvalsize" == "12" ]; then echo "Only 12 byte double. Sorry"; exit; fi
++ #if [ "hugefloatvalsize" = "12" ]; then echo "Only 12 byte long double. Sorry"; exit; fi
++ #if [ "numvalsize" = "12" ]; then echo "Only 12 byte double. Sorry"; exit; fi
+ # 1+2, 4+5, 6+7
+ M=$((N+1))
+ [ -e t/op/number_1.pasm ] || perl t/harness t/op/number.t