diff options
author | bsiegert <bsiegert@pkgsrc.org> | 2017-06-21 18:53:33 +0000 |
---|---|---|
committer | bsiegert <bsiegert@pkgsrc.org> | 2017-06-21 18:53:33 +0000 |
commit | 7fcd3524885110623e243c973d44bca86321fbcc (patch) | |
tree | e67d0ec6c2cccf432e5d2d03c19f9db7d8205f37 | |
parent | c8b9331eea2f19e3cceb75b57ae1493296432850 (diff) | |
download | pkgsrc-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/Makefile | 4 | ||||
-rw-r--r-- | lang/g95/distinfo | 6 | ||||
-rw-r--r-- | lang/g95/patches/patch-gcc_config.gcc | 15 | ||||
-rw-r--r-- | lang/g95/patches/patch-gcc_config_mips_netbsd.h | 71 | ||||
-rw-r--r-- | lang/g95/patches/patch-gcc_config_rs600_netbsd.h | 16 |
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 |