diff options
Diffstat (limited to 'lang/parrot/patches')
-rw-r--r-- | lang/parrot/patches/patch-aa | 56 | ||||
-rw-r--r-- | lang/parrot/patches/patch-ab | 19 | ||||
-rw-r--r-- | lang/parrot/patches/patch-ac | 90 |
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 |