pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/lang/gcc5 Add fixes for powerpc and alpha on NetBSD: e...
details: https://anonhg.NetBSD.org/pkgsrc/rev/a821f4dea40d
branches: trunk
changeset: 367190:a821f4dea40d
user: he <he%pkgsrc.org@localhost>
date: Fri Aug 25 16:33:53 2017 +0000
description:
Add fixes for powerpc and alpha on NetBSD: ensure we have the
correct order of the include files, and use this also for i386 and
amd64 as well. For alpha, move the Linux-specific settings into the
alpha/linux.h file.
Verified that this package now builds on powerpc.
This is largely the patches posted by maya@ on Jul 23, I just mirrored
the changes to include order to NetBSD/powerpc as well. Thanks!
Bump PKGREVISION, bump to gcc5-libs to follow shortly.
diffstat:
lang/gcc5/Makefile | 4 +-
lang/gcc5/distinfo | 6 +-
lang/gcc5/patches/patch-gcc_config.gcc | 71 +++++++++++++++++++++++-
lang/gcc5/patches/patch-gcc_config_alpha_elf.h | 39 +++++++++++++
lang/gcc5/patches/patch-gcc_config_alpha_linux.h | 39 +++++++++++++
5 files changed, 154 insertions(+), 5 deletions(-)
diffs (198 lines):
diff -r 59b80206c852 -r a821f4dea40d lang/gcc5/Makefile
--- a/lang/gcc5/Makefile Fri Aug 25 16:30:23 2017 +0000
+++ b/lang/gcc5/Makefile Fri Aug 25 16:33:53 2017 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.22 2017/07/29 00:42:35 maya Exp $
+# $NetBSD: Makefile,v 1.23 2017/08/25 16:33:53 he Exp $
GCC_PKGNAME= gcc5
-PKGREVISION= 5
+PKGREVISION= 6
.include "version.mk"
DISTNAME= gcc-${GCC5_DIST_VERSION}
diff -r 59b80206c852 -r a821f4dea40d lang/gcc5/distinfo
--- a/lang/gcc5/distinfo Fri Aug 25 16:30:23 2017 +0000
+++ b/lang/gcc5/distinfo Fri Aug 25 16:33:53 2017 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2017/07/29 00:42:35 maya Exp $
+$NetBSD: distinfo,v 1.16 2017/08/25 16:33:53 he Exp $
SHA1 (gcc-5.4.0.tar.bz2) = 07524df2b4ab9070bad9c49ab668da72237b8115
RMD160 (gcc-5.4.0.tar.bz2) = 7ae3413ca7e90bb21e65e637c02ddf2b675b45f4
@@ -9,8 +9,10 @@
SHA512 (isl-0.14.tar.bz2) = 117c0c6f31d91a9284a8f54a748df6494ca2ac21507a45611e911403e9610579b9323ce624aea1de0b8089b3194e59d4364f01bdb71ddcf8f6c24c749d11c4b7
Size (isl-0.14.tar.bz2) = 1399896 bytes
SHA1 (patch-gcc_Makefile.in) = b2bceb34537de1cf704f18a59aa4e4d4a4551c62
-SHA1 (patch-gcc_config.gcc) = 84fedf863c853c40bf81884f5db3617200f0d31d
+SHA1 (patch-gcc_config.gcc) = 5e39c8d095b4d3bcd6d48dfb76bacdcd028bbe36
SHA1 (patch-gcc_config.host) = 1b1e11cd199eb93f49443d51c0063b09b7327858
+SHA1 (patch-gcc_config_alpha_elf.h) = 53c55b37b39fe31d765e256910f80061a32479de
+SHA1 (patch-gcc_config_alpha_linux.h) = 3cb56095557c28119d58ae13d451ec4497c6f612
SHA1 (patch-gcc_config_arm_arm.h) = 769a4939c0601d4f24ecff4374538b3a388e6013
SHA1 (patch-gcc_config_host-netbsd.c) = 765295f07edb8a68f1910e3a9b4dd2a7dcd491a5
SHA1 (patch-gcc_config_i386_i386.c) = 4bec843a876dd71d756ee757d69e4649a109bc64
diff -r 59b80206c852 -r a821f4dea40d lang/gcc5/patches/patch-gcc_config.gcc
--- a/lang/gcc5/patches/patch-gcc_config.gcc Fri Aug 25 16:30:23 2017 +0000
+++ b/lang/gcc5/patches/patch-gcc_config.gcc Fri Aug 25 16:33:53 2017 +0000
@@ -1,4 +1,73 @@
-$NetBSD: patch-gcc_config.gcc,v 1.2 2016/09/28 14:39:00 maya Exp $
+$NetBSD: patch-gcc_config.gcc,v 1.3 2017/08/25 16:33:54 he Exp $
+
+Make some adjustments to the NetBSD sections of this file,
+ensure include file order is correct also for alpha and powerpc,
+and do the same for i386 and amd64.
+
+--- gcc/config.gcc.orig 2014-11-21 16:04:20.000000000 +0000
++++ gcc/config.gcc
+@@ -744,10 +744,16 @@ case ${target} in
+ target_has_targetcm=yes
+ ;;
+ *-*-netbsd*)
+- tmake_file="t-slibgcc"
++ use_gcc_stdint=wrap
++ tmake_file="t-slibgcc t-netbsd"
+ gas=yes
+ gnu_ld=yes
+
++ # cabs/cabsf are renamed to __c99_cabs/cabsf
++ tm_p_file="${tm_p_file} netbsd-protos.h"
++ target_gtfiles="${target_gtfiles} \$(srcdir)/config/netbsd.c"
++ extra_objs="${extra_objs} netbsd.o"
++
+ # NetBSD 2.0 and later get POSIX threads enabled by default.
+ # Allow them to be explicitly enabled on any other version.
+ case ${enable_threads} in
+@@ -772,6 +778,7 @@ case ${target} in
+ default_use_cxa_atexit=yes
+ ;;
+ esac
++ nbsd_tm_file="${nbsd_tm_file} netbsd.h netbsd-stdint.h netbsd-elf.h"
+ ;;
+ *-*-openbsd*)
+ tmake_file="t-openbsd"
+@@ -947,7 +954,7 @@ alpha*-*-freebsd*)
+ extra_options="${extra_options} alpha/elf.opt"
+ ;;
+ alpha*-*-netbsd*)
+- tm_file="elfos.h ${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
++ tm_file="elfos.h ${tm_file} ${nbsd_tm_file} alpha/elf.h alpha/netbsd.h"
+ extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
+ alpha/elf.opt"
+ ;;
+@@ -1399,12 +1406,14 @@ x86_64-*-freebsd*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
+ ;;
+ 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"
++ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h netbsd-stdint.h"
+ extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
++ tmake_file="${tmake_file} i386/t-crtstuff"
+ ;;
+ x86_64-*-netbsd*)
+- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
++ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h netbsd-stdint.h"
+ extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
++ tmake_file="${tmake_file} i386/t-crtstuff"
+ ;;
+ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
+ tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h"
+@@ -2291,7 +2300,7 @@ powerpc*-*-freebsd*)
+ esac
+ ;;
+ powerpc-*-netbsd*)
+- tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
++ tm_file="${tm_file} ${nbsd_tm_file} dbxelf.h elfos.h freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
+ extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
+ tmake_file="${tmake_file} rs6000/t-netbsd"
+ extra_options="${extra_options} rs6000/sysv4.opt"
+$NetBSD: patch-gcc_config.gcc,v 1.3 2017/08/25 16:33:54 he Exp $
--- gcc/config.gcc.orig 2014-11-21 16:04:20.000000000 +0000
+++ gcc/config.gcc
diff -r 59b80206c852 -r a821f4dea40d lang/gcc5/patches/patch-gcc_config_alpha_elf.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc5/patches/patch-gcc_config_alpha_elf.h Fri Aug 25 16:33:53 2017 +0000
@@ -0,0 +1,39 @@
+$NetBSD: patch-gcc_config_alpha_elf.h,v 1.1 2017/08/25 16:33:54 he Exp $
+
+Move Linux-specific spec definitions to the linux file.
+
+--- work/gcc-5.4.0/gcc/config/alpha/elf.h.orig 2015-01-05 12:33:28.000000000 +0000
++++ work/gcc-5.4.0/gcc/config/alpha/elf.h
+@@ -100,32 +100,6 @@ do { \
+ ASM_OUTPUT_DEF (FILE, alias, name); \
+ } while (0)
+
+-/* Provide a STARTFILE_SPEC appropriate for ELF. Here we add the
+- (even more) magical crtbegin.o file which provides part of the
+- support for getting C++ file-scope static object constructed
+- before entering `main'. */
+-
+-#undef STARTFILE_SPEC
+-#ifdef HAVE_LD_PIE
+-#define STARTFILE_SPEC \
+- "%{!shared: %{pg|p:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\
+- crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
+-#else
+-#define STARTFILE_SPEC \
+- "%{!shared: %{pg|p:gcrt1.o%s;:crt1.o%s}}\
+- crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
+-#endif
+-
+-/* Provide a ENDFILE_SPEC appropriate for ELF. Here we tack on the
+- magical crtend.o file which provides part of the support for
+- getting C++ file-scope static object constructed before entering
+- `main', followed by a normal ELF "finalizer" file, `crtn.o'. */
+-
+-#undef ENDFILE_SPEC
+-#define ENDFILE_SPEC \
+- "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
+- %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
+-
+ /* This variable should be set to 'true' if the target ABI requires
+ unwinding tables even when exceptions are not used. */
+ #define TARGET_UNWIND_TABLES_DEFAULT true
diff -r 59b80206c852 -r a821f4dea40d lang/gcc5/patches/patch-gcc_config_alpha_linux.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lang/gcc5/patches/patch-gcc_config_alpha_linux.h Fri Aug 25 16:33:53 2017 +0000
@@ -0,0 +1,39 @@
+$NetBSD: patch-gcc_config_alpha_linux.h,v 1.1 2017/08/25 16:33:54 he Exp $
+
+Move Linux-specific spec definitions to the Linux file.
+
+--- work/gcc-5.4.0/gcc/config/alpha/linux.h.orig 2015-01-05 12:33:28.000000000 +0000
++++ work/gcc-5.4.0/gcc/config/alpha/linux.h
+@@ -74,6 +74,32 @@ along with GCC; see the file COPYING3.
+
+ #define TARGET_POSIX_IO
+
++/* Provide a STARTFILE_SPEC appropriate for ELF. Here we add the
++ (even more) magical crtbegin.o file which provides part of the
++ support for getting C++ file-scope static object constructed
++ before entering `main'. */
++
++#undef STARTFILE_SPEC
++#ifdef HAVE_LD_PIE
++#define STARTFILE_SPEC \
++ "%{!shared: %{pg|p:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\
++ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
++#else
++#define STARTFILE_SPEC \
++ "%{!shared: %{pg|p:gcrt1.o%s;:crt1.o%s}}\
++ crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
++#endif
++
++/* Provide a ENDFILE_SPEC appropriate for ELF. Here we tack on the
++ magical crtend.o file which provides part of the support for
++ getting C++ file-scope static object constructed before entering
++ `main', followed by a normal ELF "finalizer" file, `crtn.o'. */
++
++#undef ENDFILE_SPEC
++#define ENDFILE_SPEC \
++ "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++ %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
++
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
+
Home |
Main Index |
Thread Index |
Old Index