diff options
author | joerg <joerg@pkgsrc.org> | 2013-03-02 18:05:46 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2013-03-02 18:05:46 +0000 |
commit | b1daf489cad96645e5b6b74514181cae2f594b74 (patch) | |
tree | f37933f81773b4e871ad5d9292e564873dd71e71 /lang | |
parent | 48bc7119f06fee03d9cd8cb2d7091b7a99c92292 (diff) | |
download | pkgsrc-b1daf489cad96645e5b6b74514181cae2f594b74.tar.gz |
Use non-ambigious assembler syntax. Fix return types. Fix inline usage
to allow building with Clang.
Diffstat (limited to 'lang')
-rw-r--r-- | lang/g95/distinfo | 10 | ||||
-rw-r--r-- | lang/g95/patches/patch-.._gcc-4.0.3_gcc_toplev.h | 20 | ||||
-rw-r--r-- | lang/g95/patches/patch-libf95.a-0.93_intrinsics_dot__product10.c | 58 | ||||
-rw-r--r-- | lang/g95/patches/patch-libf95.a-0.93_intrinsics_matmul10.c | 112 | ||||
-rw-r--r-- | lang/g95/patches/patch-libf95.a-0.93_intrinsics_random.c | 13 | ||||
-rw-r--r-- | lang/g95/patches/patch-libf95.a-0.93_io_read.c | 13 | ||||
-rw-r--r-- | lang/g95/patches/patch-libf95.a-0.93_math_ff.c | 31 | ||||
-rw-r--r-- | lang/g95/patches/patch-libf95.a-0.93_math_x87.S | 58 | ||||
-rw-r--r-- | lang/g95/patches/patch-libf95.a-0.93_quad_power16.c | 17 |
9 files changed, 331 insertions, 1 deletions
diff --git a/lang/g95/distinfo b/lang/g95/distinfo index 77749838825..d57feb2634f 100644 --- a/lang/g95/distinfo +++ b/lang/g95/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.12 2013/02/08 12:46:14 obache Exp $ +$NetBSD: distinfo,v 1.13 2013/03/02 18:05:46 joerg Exp $ SHA1 (g95-0.93/g95_source.tgz) = b5e503fd6459b65cbda73190685f9490230d9cff RMD160 (g95-0.93/g95_source.tgz) = 98d03e9a1835f4b3553a72a798bdf1d90a757176 @@ -14,7 +14,15 @@ SHA1 (patch-.._gcc-4.0.3_gcc_config_i386_dragonfly64.h) = b228dbcdf7b5cf22d41d6f SHA1 (patch-.._gcc-4.0.3_gcc_config_t-dragonfly) = 9636163ffd359b2a0dbb0a7fec2ca1cf98032c3d SHA1 (patch-.._gcc-4.0.3_gcc_config_t-dragonfly-thread) = a7181b3061e32d3edd38c09eed34232a75de83cf SHA1 (patch-.._gcc-4.0.3_gcc_ginclude_stddef.h) = 5e18b132d36ca02dcfed0569297e7ad6b1eada26 +SHA1 (patch-.._gcc-4.0.3_gcc_toplev.h) = 164115c81d1a286c139afc652e6e85b2daba9d38 SHA1 (patch-ab) = 7275d8df3ba1621f3d496c386df999295f36f974 SHA1 (patch-ac) = b20a90cc2f9078cf0048980b75fa6836da0f28a8 SHA1 (patch-libf95.a-0.92_configure) = e23998692b410acaabaf24f591b659d2b229bcca SHA1 (patch-libf95.a-0.92_io_atof.c) = 0c3a209815be3a97d984cb9a15ee888f93110d1d +SHA1 (patch-libf95.a-0.93_intrinsics_dot__product10.c) = a2fe19bab2a6f719f541692fd4ef7e67766a18e5 +SHA1 (patch-libf95.a-0.93_intrinsics_matmul10.c) = 30609c3183a98610e4005fd4c0d12cccec0855a1 +SHA1 (patch-libf95.a-0.93_intrinsics_random.c) = 5445f78b267f742a2bf711aa0f5e06683dda1a68 +SHA1 (patch-libf95.a-0.93_io_read.c) = 594bcfb15e59dcaaec5a6a21a58af17e8f41eae9 +SHA1 (patch-libf95.a-0.93_math_ff.c) = 353121bc08a86765d18b0e6f051ba91f7e65e9c2 +SHA1 (patch-libf95.a-0.93_math_x87.S) = d1eb02bd2358b6abb9b8dc3e32629cba540adcc4 +SHA1 (patch-libf95.a-0.93_quad_power16.c) = fc7375aa90ecf75bb8ba26d41739614040b16e09 diff --git a/lang/g95/patches/patch-.._gcc-4.0.3_gcc_toplev.h b/lang/g95/patches/patch-.._gcc-4.0.3_gcc_toplev.h new file mode 100644 index 00000000000..2855e37b21d --- /dev/null +++ b/lang/g95/patches/patch-.._gcc-4.0.3_gcc_toplev.h @@ -0,0 +1,20 @@ +$NetBSD: patch-.._gcc-4.0.3_gcc_toplev.h,v 1.1 2013/03/02 18:05:46 joerg Exp $ + +--- ../gcc-4.0.3/gcc/toplev.h.orig 2013-03-01 10:43:23.000000000 +0000 ++++ ../gcc-4.0.3/gcc/toplev.h +@@ -180,13 +180,13 @@ extern int floor_log2 ( + # define CTZ_HWI __builtin_ctz + # endif + +-extern inline int ++extern __attribute__((__gnu_inline__)) inline int + floor_log2 (unsigned HOST_WIDE_INT x) + { + return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1; + } + +-extern inline int ++extern __attribute__((__gnu_inline__)) inline int + exact_log2 (unsigned HOST_WIDE_INT x) + { + return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1; diff --git a/lang/g95/patches/patch-libf95.a-0.93_intrinsics_dot__product10.c b/lang/g95/patches/patch-libf95.a-0.93_intrinsics_dot__product10.c new file mode 100644 index 00000000000..7383c8815f0 --- /dev/null +++ b/lang/g95/patches/patch-libf95.a-0.93_intrinsics_dot__product10.c @@ -0,0 +1,58 @@ +$NetBSD: patch-libf95.a-0.93_intrinsics_dot__product10.c,v 1.1 2013/03/02 18:05:46 joerg Exp $ + +--- libf95.a-0.93/intrinsics/dot_product10.c.orig 2013-03-01 11:13:24.000000000 +0000 ++++ libf95.a-0.93/intrinsics/dot_product10.c +@@ -225,7 +225,7 @@ char *ap, *bp; + #define LOAD_B "mov %0, %" EAX "\n" \ + "movsbl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (bp), "m" (temp) : EAX ++ "filds %1\n" : : "m" (bp), "m" (temp) : EAX + + #include "dot_product10.c" + +@@ -237,7 +237,7 @@ char *ap, *bp; + #define LOAD_B "mov %0, %" EAX "\n" \ + "movswl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (bp), "m" (temp) : EAX ++ "filds %1\n" : : "m" (bp), "m" (temp) : EAX + + #include "dot_product10.c" + +@@ -247,7 +247,7 @@ char *ap, *bp; + "fldt ( %" EAX ")\n" : : "m" (ap) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ +- "fild ( %" EAX ")\n" : : "m" (bp), "m" (temp) : EAX ++ "filds ( %" EAX ")\n" : : "m" (bp), "m" (temp) : EAX + + #include "dot_product10.c" + +@@ -286,7 +286,7 @@ char *ap, *bp; + #define LOAD_A "mov %0, %" EAX "\n" \ + "movsbl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (ap), "m" (temp) : EAX ++ "filds %1\n" : : "m" (ap), "m" (temp) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" : : "m" (bp) : EAX +@@ -299,7 +299,7 @@ char *ap, *bp; + #define LOAD_A "mov %0, %" EAX "\n" \ + "movswl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (ap), "m" (temp) : EAX ++ "filds %1\n" : : "m" (ap), "m" (temp) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" : : "m" (bp) : EAX +@@ -309,7 +309,7 @@ char *ap, *bp; + #define SUBROUTINE prefix(dot_product_i4_r10) + + #define LOAD_A "mov %0, %" EAX "\n" \ +- "fild ( %" EAX ")\n" : : "m" (ap), "m" (temp) : EAX ++ "filds ( %" EAX ")\n" : : "m" (ap), "m" (temp) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" : : "m" (bp) : EAX diff --git a/lang/g95/patches/patch-libf95.a-0.93_intrinsics_matmul10.c b/lang/g95/patches/patch-libf95.a-0.93_intrinsics_matmul10.c new file mode 100644 index 00000000000..54765b41500 --- /dev/null +++ b/lang/g95/patches/patch-libf95.a-0.93_intrinsics_matmul10.c @@ -0,0 +1,112 @@ +$NetBSD: patch-libf95.a-0.93_intrinsics_matmul10.c,v 1.1 2013/03/02 18:05:46 joerg Exp $ + +--- libf95.a-0.93/intrinsics/matmul10.c.orig 2013-03-01 11:13:29.000000000 +0000 ++++ libf95.a-0.93/intrinsics/matmul10.c +@@ -899,7 +899,7 @@ static char matrix_mismatch[] = "Matrix + #define LOAD_B "mov %0, %" EAX "\n" \ + "movsbl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (q), "m" (temp) : EAX ++ "filds %1\n" : : "m" (q), "m" (temp) : EAX + + #include "matmul10.c" + +@@ -913,7 +913,7 @@ static char matrix_mismatch[] = "Matrix + #define LOAD_B "mov %0, %" EAX "\n" \ + "movswl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (q), "m" (temp) : EAX ++ "filds %1\n" : : "m" (q), "m" (temp) : EAX + + #include "matmul10.c" + +@@ -925,7 +925,7 @@ static char matrix_mismatch[] = "Matrix + "fldt ( %" EAX ")\n" : : "m" (p) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ +- "fild ( %" EAX ")\n" : : "m" (q) : EAX ++ "filds ( %" EAX ")\n" : : "m" (q) : EAX + + #include "matmul10.c" + +@@ -972,7 +972,7 @@ static char matrix_mismatch[] = "Matrix + #define LOAD_A "mov %0, %" EAX "\n" \ + "movsbl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (p), "m" (temp) : EAX ++ "filds %1\n" : : "m" (p), "m" (temp) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" : : "m" (q) : EAX +@@ -987,7 +987,7 @@ static char matrix_mismatch[] = "Matrix + #define LOAD_A "mov %0, %" EAX "\n" \ + "movswl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (p), "m" (temp) : EAX ++ "filds %1\n" : : "m" (p), "m" (temp) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" : : "m" (q) : EAX +@@ -999,7 +999,7 @@ static char matrix_mismatch[] = "Matrix + #define SUBROUTINE22 prefix(matmul22_i4r10) + + #define LOAD_A "mov %0, %" EAX "\n" \ +- "fild ( %" EAX ")\n" : : "m" (p), "m" (temp) : EAX ++ "filds ( %" EAX ")\n" : : "m" (p), "m" (temp) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" : : "m" (q) : EAX +@@ -1113,7 +1113,7 @@ static char matrix_mismatch[] = "Matrix + #define LOAD_B "mov %0, %" EAX "\n" \ + "movsbl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (q), "m" (temp) : EAX ++ "filds %1\n" : : "m" (q), "m" (temp) : EAX + + #define LOAD_RESULT "mov %0, %" EAX "\n" \ + "fldt (%" EAX ")\n" \ +@@ -1140,7 +1140,7 @@ static char matrix_mismatch[] = "Matrix + #define LOAD_B "mov %0, %" EAX "\n" \ + "movswl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (q), "m" (temp) : EAX ++ "filds %1\n" : : "m" (q), "m" (temp) : EAX + + #define LOAD_RESULT "mov %0, %" EAX "\n" \ + "fldt (%" EAX ")\n" \ +@@ -1166,7 +1166,7 @@ static char matrix_mismatch[] = "Matrix + : : "m" (p) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ +- "fild (%" EAX ")\n" : : "m" (q) : EAX ++ "filds (%" EAX ")\n" : : "m" (q) : EAX + + #define LOAD_RESULT "mov %0, %" EAX "\n" \ + "fldt (%" EAX ")\n" \ +@@ -1340,7 +1340,7 @@ static char matrix_mismatch[] = "Matrix + #define LOAD_A "mov %0, %" EAX "\n" \ + "movsbl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (p), "m" (temp) : EAX ++ "filds %1\n" : : "m" (p), "m" (temp) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" \ +@@ -1368,7 +1368,7 @@ static char matrix_mismatch[] = "Matrix + #define LOAD_A "mov %0, %" EAX "\n" \ + "movswl (%" EAX "), %%eax\n" \ + "mov %%eax, %1\n" \ +- "fild %1\n" : : "m" (p), "m" (temp) : EAX ++ "filds %1\n" : : "m" (p), "m" (temp) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" \ +@@ -1394,7 +1394,7 @@ static char matrix_mismatch[] = "Matrix + #define SUBROUTINE22 prefix(matmul22_i4z10) + + #define LOAD_A "mov %0, %" EAX "\n" \ +- "fild (%" EAX ")\n" : : "m" (p) : EAX ++ "filds (%" EAX ")\n" : : "m" (p) : EAX + + #define LOAD_B "mov %0, %" EAX "\n" \ + "fldt ( %" EAX ")\n" \ diff --git a/lang/g95/patches/patch-libf95.a-0.93_intrinsics_random.c b/lang/g95/patches/patch-libf95.a-0.93_intrinsics_random.c new file mode 100644 index 00000000000..08e27c515bb --- /dev/null +++ b/lang/g95/patches/patch-libf95.a-0.93_intrinsics_random.c @@ -0,0 +1,13 @@ +$NetBSD: patch-libf95.a-0.93_intrinsics_random.c,v 1.1 2013/03/02 18:05:46 joerg Exp $ + +--- libf95.a-0.93/intrinsics/random.c.orig 2013-03-01 11:13:35.000000000 +0000 ++++ libf95.a-0.93/intrinsics/random.c +@@ -208,7 +208,7 @@ int scale; + harvest[0] = xorshf96(); + harvest[1] = xorshf96() & 0x7FFFFFFF; + +- asm("fild %0\n" ++ asm("filds %0\n" + "mov %1, %" EAX "\n" + "fildll (%" EAX ")\n" + "fscale\n" diff --git a/lang/g95/patches/patch-libf95.a-0.93_io_read.c b/lang/g95/patches/patch-libf95.a-0.93_io_read.c new file mode 100644 index 00000000000..ae6550d8c53 --- /dev/null +++ b/lang/g95/patches/patch-libf95.a-0.93_io_read.c @@ -0,0 +1,13 @@ +$NetBSD: patch-libf95.a-0.93_io_read.c,v 1.1 2013/03/02 18:05:46 joerg Exp $ + +--- libf95.a-0.93/io/read.c.orig 2013-03-01 11:14:56.000000000 +0000 ++++ libf95.a-0.93/io/read.c +@@ -102,7 +102,7 @@ void set_real(int value, void *dest, int + + #if HAVE_REAL_10 + case 10: +- asm("fild %0\n" ++ asm("filds %0\n" + "mov %1, %" EAX "\n" + "fstpt (%" EAX ")\n" : : "m" (value), "m" (dest) : EAX); + break; diff --git a/lang/g95/patches/patch-libf95.a-0.93_math_ff.c b/lang/g95/patches/patch-libf95.a-0.93_math_ff.c new file mode 100644 index 00000000000..03ff6c961cd --- /dev/null +++ b/lang/g95/patches/patch-libf95.a-0.93_math_ff.c @@ -0,0 +1,31 @@ +$NetBSD: patch-libf95.a-0.93_math_ff.c,v 1.1 2013/03/02 18:05:46 joerg Exp $ + +--- libf95.a-0.93/math/ff.c.orig 2013-03-01 11:15:29.000000000 +0000 ++++ libf95.a-0.93/math/ff.c +@@ -790,7 +790,7 @@ int exp; + + exp = *i - 1; + +- asm("fild %0\n" /* i */ ++ asm("filds %0\n" /* i */ + "fldt %1\n" /* x : i */ + "fxtract\n" /* sig(x) : exp(x) : i */ + "fstp %%st(1)\n" /* sig(x) : i */ +@@ -961,7 +961,7 @@ int exp; + + exp = *i; + +- asm("fild %0\n" ++ asm("filds %0\n" + "fldt %1\n" + "fscale\n" + "fstp %%st(1)\n" : : "m" (exp), "m" (*x)); +@@ -1069,7 +1069,7 @@ int exp; + case FF_REGULAR: + exp = MAN10_LEN - 1; + +- asm("fild %0\n" /* p */ ++ asm("filds %0\n" /* p */ + "fldt %1\n" /* x . p */ + "fxam\n" + "fnstsw\n" diff --git a/lang/g95/patches/patch-libf95.a-0.93_math_x87.S b/lang/g95/patches/patch-libf95.a-0.93_math_x87.S new file mode 100644 index 00000000000..76c3f9b4270 --- /dev/null +++ b/lang/g95/patches/patch-libf95.a-0.93_math_x87.S @@ -0,0 +1,58 @@ +$NetBSD: patch-libf95.a-0.93_math_x87.S,v 1.1 2013/03/02 18:05:46 joerg Exp $ + +--- libf95.a-0.93/math/x87.S.orig 2013-03-01 11:18:05.000000000 +0000 ++++ libf95.a-0.93/math/x87.S +@@ -250,7 +250,7 @@ PUBLIC(g95_ceiling_1_r10) + fldcw (SP) + frndint + fldcw 4(SP) +- fistp (SP) ++ fistps (SP) + mov (SP), %al + SIGNX_AL + add $8, SP +@@ -266,7 +266,7 @@ PUBLIC(g95_ceiling_2_r10) + fldcw (SP) + frndint + fldcw 4(SP) +- fistp (SP) ++ fistps (SP) + mov (SP), %ax + SIGNX_AX + add $8, SP +@@ -675,7 +675,7 @@ PUBLIC(g95_floor_1_r10) + fldcw (SP) + frndint + fldcw 4(SP) +- fistp (SP) ++ fistps (SP) + mov (SP), %al + SIGNX_AL + add $8, SP +@@ -691,7 +691,7 @@ PUBLIC(g95_floor_2_r10) + fldcw (SP) + frndint + fldcw 4(SP) +- fistp (SP) ++ fistps (SP) + mov (SP), %ax + SIGNX_AX + add $8, SP +@@ -833,7 +833,7 @@ PUBLIC(g95_nint_1_r10) + frndint + fldcw 4(SP) + +- fistp (SP) ++ fistps (SP) + movb (SP), %al + SIGNX_AL + add $8, SP +@@ -861,7 +861,7 @@ PUBLIC(g95_nint_2_r10) + frndint + fldcw 4(SP) + +- fistp (SP) ++ fistps (SP) + movw (SP), %ax + SIGNX_AX + add $8, SP diff --git a/lang/g95/patches/patch-libf95.a-0.93_quad_power16.c b/lang/g95/patches/patch-libf95.a-0.93_quad_power16.c new file mode 100644 index 00000000000..9dc86396731 --- /dev/null +++ b/lang/g95/patches/patch-libf95.a-0.93_quad_power16.c @@ -0,0 +1,17 @@ +$NetBSD: patch-libf95.a-0.93_quad_power16.c,v 1.1 2013/03/02 18:05:46 joerg Exp $ + +--- libf95.a-0.93/quad/power16.c.orig 2013-03-01 11:16:07.000000000 +0000 ++++ libf95.a-0.93/quad/power16.c +@@ -36,10 +36,11 @@ + + #define power_r16_i4 prefix(power_r16_i4) + ++void unpack_quad(void *v, unsigned *mantissa, int *exp, int *sign); + + /* int_power16()-- Core of integer powers. */ + +-static int_power16(unpacked16 *base, long long e0, unpacked16 *result) { ++static void int_power16(unpacked16 *base, long long e0, unpacked16 *result) { + int negative, negative_exp; + unsigned long long exp; + unpacked16 one; |