summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbsiegert <bsiegert@pkgsrc.org>2017-06-21 18:53:33 +0000
committerbsiegert <bsiegert@pkgsrc.org>2017-06-21 18:53:33 +0000
commit7fcd3524885110623e243c973d44bca86321fbcc (patch)
treee67d0ec6c2cccf432e5d2d03c19f9db7d8205f37
parentc8b9331eea2f19e3cceb75b57ae1493296432850 (diff)
downloadpkgsrc-7fcd3524885110623e243c973d44bca86321fbcc.tar.gz
Pullup ticket #5490 - requested by maya
lang/g95: build fix Revisions pulled up: - lang/g95/Makefile 1.28 - lang/g95/distinfo 1.29-1.30 - lang/g95/patches/patch-gcc_config.gcc 1.5 - lang/g95/patches/patch-gcc_config_mips_netbsd.h 1.1 - lang/g95/patches/patch-gcc_config_rs600_netbsd.h 1.1 --- Module Name: pkgsrc Committed By: maya Date: Wed Jun 21 01:12:56 UTC 2017 Modified Files: pkgsrc/lang/g95: Makefile distinfo Added Files: pkgsrc/lang/g95/patches: patch-gcc_config_rs600_netbsd.h Log Message: g95: don't try to link against a non-existent file on netbsd/powerpc. untested but obvious change. currently showing up as a build failure of math/blas as it attempts to link with crtsavres which is a linux file. Bump PKGREVISION as the build succeeds. --- Module Name: pkgsrc Committed By: maya Date: Wed Jun 21 11:36:20 UTC 2017 Modified Files: pkgsrc/lang/g95: distinfo pkgsrc/lang/g95/patches: patch-gcc_config.gcc Added Files: pkgsrc/lang/g95/patches: patch-gcc_config_mips_netbsd.h Log Message: g95: Fix netbsd/mips64 builds NetBSD switched to n32 ABI for mips64el in NetBSD 6, and the build is failing due to the default ABI mismatch between linker and newly built compiler. Default to n32 and backport n32 size definitions from newer GCC. Small chance of a functional change for o32 builds (which should work), ride previous PKGREVISION bump for it.
-rw-r--r--lang/g95/Makefile4
-rw-r--r--lang/g95/distinfo6
-rw-r--r--lang/g95/patches/patch-gcc_config.gcc15
-rw-r--r--lang/g95/patches/patch-gcc_config_mips_netbsd.h71
-rw-r--r--lang/g95/patches/patch-gcc_config_rs600_netbsd.h16
5 files changed, 107 insertions, 5 deletions
diff --git a/lang/g95/Makefile b/lang/g95/Makefile
index 222bde119a1..a922d251ad8 100644
--- a/lang/g95/Makefile
+++ b/lang/g95/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.27 2016/08/16 00:53:41 dholland Exp $
+# $NetBSD: Makefile,v 1.27.6.1 2017/06/21 18:53:33 bsiegert Exp $
DISTNAME= g95_source
PKGNAME= g95-0.93
-PKGREVISION= 8
+PKGREVISION= 9
CATEGORIES= lang
MASTER_SITES= http://ftp.g95.org/v${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tgz
diff --git a/lang/g95/distinfo b/lang/g95/distinfo
index 2a1d0e08768..c157962d543 100644
--- a/lang/g95/distinfo
+++ b/lang/g95/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.28 2016/10/02 23:26:39 maya Exp $
+$NetBSD: distinfo,v 1.28.4.1 2017/06/21 18:53:33 bsiegert Exp $
SHA1 (g95_source.tgz) = b5e503fd6459b65cbda73190685f9490230d9cff
RMD160 (g95_source.tgz) = 98d03e9a1835f4b3553a72a798bdf1d90a757176
@@ -12,12 +12,14 @@ SHA1 (patch-ab) = 7429a4da26aa573dcdd94bf417da1e009f95d273
SHA1 (patch-configure) = 48450808201d4ea5ddb993627c4efeaf43d53bd2
SHA1 (patch-g95spec.c) = d6f434e715835cd39511c45ed18632c8401b78a2
SHA1 (patch-gcc_Makefile.in) = cc5cc142a85612ebf2d38513e4b05db0ae795268
-SHA1 (patch-gcc_config.gcc) = ed135c425730d231182e36af840278d307396c6e
+SHA1 (patch-gcc_config.gcc) = 41c7b8c86dc87032159126d33b33ae4d0265fb07
SHA1 (patch-gcc_config_dragonfly-spec.h) = bf0c97caa314714542cf8cc63fdf0c73bda80511
SHA1 (patch-gcc_config_dragonfly.h) = 6d46b7b4637a20b36e19a15e1eaffdfff6638de9
SHA1 (patch-gcc_config_freebsd-spec.h) = 508304b26b592518c3d3f43f466ac0a6542b2704
SHA1 (patch-gcc_config_i386_dragonfly.h) = 7d60d29b5ae636d69650e8c412a94f7a6045f6d9
SHA1 (patch-gcc_config_i386_dragonfly64.h) = 9d2d8512a913e58055fa5c1b7d85a109117dcfba
+SHA1 (patch-gcc_config_mips_netbsd.h) = 8888ecaa470e38a82ec56e332658fd32c9e5e86c
+SHA1 (patch-gcc_config_rs600_netbsd.h) = 2e568e48f84024b7182762107c4ee76ee87fe43c
SHA1 (patch-gcc_config_t-dragonfly) = dd8d5919af737dfb9e3c18be9a41b4e2c6f31155
SHA1 (patch-gcc_config_t-dragonfly-thread) = ebdb58dacf0dc5d0bf2f1f1707a7c6ab29ee308c
SHA1 (patch-gcc_ginclude_stddef.h) = 60f51a470e03173803b5e20b1fa4d6882e8d1fe9
diff --git a/lang/g95/patches/patch-gcc_config.gcc b/lang/g95/patches/patch-gcc_config.gcc
index 08b16157570..061076d6512 100644
--- a/lang/g95/patches/patch-gcc_config.gcc
+++ b/lang/g95/patches/patch-gcc_config.gcc
@@ -1,8 +1,9 @@
-$NetBSD: patch-gcc_config.gcc,v 1.4 2016/09/27 20:51:11 maya Exp $
+$NetBSD: patch-gcc_config.gcc,v 1.4.6.1 2017/06/21 18:53:33 bsiegert Exp $
Darwin 64-bit support.
DragonFly BSD support.
FreeBSD 10 to 12 support.
+NetBSD/mips64 should default to n32 ABI
--- ../gcc-4.1.2/gcc/config.gcc.orig 2006-10-15 23:12:23.000000000 +0000
+++ ../gcc-4.1.2/gcc/config.gcc
@@ -65,3 +66,15 @@ FreeBSD 10 to 12 support.
i[34567]86-*-netbsdelf*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
;;
+@@ -1473,6 +1504,11 @@ mips-sgi-irix[56]*)
+ # fi
+ use_fixproto=yes
+ ;;
++mips64*-*-netbsd*) # NetBSD/mips64, either endian.
++ target_cpu_default="MASK_ABICALLS"
++ tm_defines="MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32"
++ tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
++ ;;
+ mips*-*-netbsd*) # NetBSD/mips, either endian.
+ target_cpu_default="MASK_ABICALLS"
+ tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h"
diff --git a/lang/g95/patches/patch-gcc_config_mips_netbsd.h b/lang/g95/patches/patch-gcc_config_mips_netbsd.h
new file mode 100644
index 00000000000..9ac349ecb7c
--- /dev/null
+++ b/lang/g95/patches/patch-gcc_config_mips_netbsd.h
@@ -0,0 +1,71 @@
+$NetBSD: patch-gcc_config_mips_netbsd.h,v 1.1.2.2 2017/06/21 18:53:33 bsiegert Exp $
+
+n32 support for netbsd/mips64
+
+--- ../gcc-4.1.2/gcc/config/mips/netbsd.h.orig 2005-06-25 01:22:41.000000000 +0000
++++ ../gcc-4.1.2/gcc/config/mips/netbsd.h
+@@ -39,18 +39,56 @@ Boston, MA 02110-1301, USA. */
+ builtin_define ("__LONG64"); \
+ \
+ if (TARGET_ABICALLS) \
+- builtin_define ("__ABICALLS__"); \
++ builtin_define ("__mips_abicalls"); \
+ \
+- if (mips_abi == ABI_EABI) \
+- builtin_define ("__mips_eabi"); \
+- else if (mips_abi == ABI_N32) \
+- builtin_define ("__mips_n32"); \
++ if (mips_abi == ABI_N32) \
++ { \
++ builtin_define ("_ABIN32=2"); \
++ builtin_define ("_MIPS_SIM=_ABIN32"); \
++ builtin_define ("_MIPS_SZLONG=32"); \
++ builtin_define ("_MIPS_SZPTR=32"); \
++ } \
+ else if (mips_abi == ABI_64) \
+- builtin_define ("__mips_n64"); \
++ { \
++ builtin_define ("_ABI64=3"); \
++ builtin_define ("_MIPS_SIM=_ABI64"); \
++ builtin_define ("_MIPS_SZLONG=64"); \
++ builtin_define ("_MIPS_SZPTR=64"); \
++ } \
+ else if (mips_abi == ABI_O64) \
+- builtin_define ("__mips_o64"); \
++ { \
++ builtin_define ("_ABIO64=4"); \
++ builtin_define ("_MIPS_SIM=_ABIO64"); \
++ builtin_define ("_MIPS_SZLONG=64"); \
++ builtin_define ("_MIPS_SZPTR=64"); \
+ } \
+- while (0)
++ else if (mips_abi == ABI_EABI) \
++ { \
++ builtin_define ("_ABIEMB=5"); \
++ builtin_define ("_MIPS_SIM=_ABIEMB"); \
++ if (TARGET_LONG64) \
++ builtin_define ("_MIPS_SZLONG=64"); \
++ else \
++ builtin_define ("_MIPS_SZLONG=32"); \
++ if (TARGET_64BIT) \
++ builtin_define ("_MIPS_SZPTR=64"); \
++ else \
++ builtin_define ("_MIPS_SZPTR=32"); \
++ } \
++ else \
++ { \
++ builtin_define ("_ABIO32=1"); \
++ builtin_define ("_MIPS_SIM=_ABIO32"); \
++ builtin_define ("_MIPS_SZLONG=32"); \
++ builtin_define ("_MIPS_SZPTR=32"); \
++ } \
++ if (TARGET_FLOAT64) \
++ builtin_define ("_MIPS_FPSET=32"); \
++ else \
++ builtin_define ("_MIPS_FPSET=16"); \
++ \
++ builtin_define ("_MIPS_SZINT=32"); \
++ } while (0)
+
+ /* The generic MIPS TARGET_CPU_CPP_BUILTINS are incorrect for NetBSD.
+ Specifically, they define too many namespace-invasive macros. Override
diff --git a/lang/g95/patches/patch-gcc_config_rs600_netbsd.h b/lang/g95/patches/patch-gcc_config_rs600_netbsd.h
new file mode 100644
index 00000000000..f125042b2d2
--- /dev/null
+++ b/lang/g95/patches/patch-gcc_config_rs600_netbsd.h
@@ -0,0 +1,16 @@
+$NetBSD: patch-gcc_config_rs600_netbsd.h,v 1.1.2.2 2017/06/21 18:53:33 bsiegert Exp $
+
+Don't try to link against a non-existent file on netbsd/powerpc
+
+--- ../gcc-4.1.2/gcc/config/rs6000/netbsd.h.orig 2005-06-25 01:22:41.000000000 +0000
++++ ../gcc-4.1.2/gcc/config/rs6000/netbsd.h
+@@ -76,8 +76,7 @@
+ #define STARTFILE_SPEC NETBSD_STARTFILE_SPEC
+
+ #undef ENDFILE_SPEC
+-#define ENDFILE_SPEC \
+- "crtsavres%O%s %(netbsd_endfile_spec)"
++#define ENDFILE_SPEC "%(netbsd_endfile_spec)"
+
+ #undef LIB_SPEC
+ #define LIB_SPEC NETBSD_LIB_SPEC