diff options
author | joerg <joerg@pkgsrc.org> | 2015-12-10 03:02:16 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2015-12-10 03:02:16 +0000 |
commit | 11b5d0192768ffd6eb074318ed4d9f0724edec2c (patch) | |
tree | 70a38d9bb56f1655e02980953fa1de0926ef23bd /cross | |
parent | a3ec721bf5ca843787c223f53973089d525cf0b2 (diff) | |
download | pkgsrc-11b5d0192768ffd6eb074318ed4d9f0724edec2c.tar.gz |
Help find select. Don't include cstdio after messing up headers.
Tell clang to deal with the broken NEON instruction generator,
GCC likes to generate extremely nested parentheses.
Diffstat (limited to 'cross')
-rw-r--r-- | cross/arm-none-eabi-gcc5/Makefile | 12 | ||||
-rw-r--r-- | cross/arm-none-eabi-gcc5/distinfo | 5 | ||||
-rw-r--r-- | cross/arm-none-eabi-gcc5/patches/patch-gcc_system.h | 14 | ||||
-rw-r--r-- | cross/arm-none-eabi-gcc5/patches/patch-libcc1_connection.cc | 12 | ||||
-rw-r--r-- | cross/arm-none-eabi-gcc5/patches/patch-libiberty_Makefile.in | 37 |
5 files changed, 78 insertions, 2 deletions
diff --git a/cross/arm-none-eabi-gcc5/Makefile b/cross/arm-none-eabi-gcc5/Makefile index 767bd657520..cbb89d19f16 100644 --- a/cross/arm-none-eabi-gcc5/Makefile +++ b/cross/arm-none-eabi-gcc5/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2015/10/11 01:14:56 ryoon Exp $ +# $NetBSD: Makefile,v 1.2 2015/12/10 03:02:16 joerg Exp $ DISTNAME= gcc-5.2.0 PKGNAME= cross-arm-none-eabi-${DISTNAME} @@ -45,6 +45,16 @@ INFO_FILES= yes INSTALLATION_DIRS+= bin +CONFIGURE_ARGS+= --enable-${PLUGIN_NAME}-plugin + +.include "../../mk/compiler.mk" +.if !empty(PKGSRC_COMPILER:Mclang) +# geattrtab on neon.md results in a very deeply nested expression +# with > 255 brackets. This was reported against GCC 4.9.1 at least +# already, but it seems noone cares enough in GCC to fix the generator. +CFLAGS+= -fbracket-depth=1024 +.endif + post-extract: ${LN} -s ${WRKDIR}/newlib-${NEWLIBVER}/newlib ${WRKSRC}/newlib ${LN} -s ${WRKDIR}/newlib-${NEWLIBVER}/libgloss ${WRKSRC}/libgloss diff --git a/cross/arm-none-eabi-gcc5/distinfo b/cross/arm-none-eabi-gcc5/distinfo index b2a64a5155c..cd3ef59d10d 100644 --- a/cross/arm-none-eabi-gcc5/distinfo +++ b/cross/arm-none-eabi-gcc5/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.2 2015/11/03 00:47:42 agc Exp $ +$NetBSD: distinfo,v 1.3 2015/12/10 03:02:16 joerg Exp $ SHA1 (gcc-5.2.0.tar.bz2) = fe3f5390949d47054b613edc36c557eb1d51c18e RMD160 (gcc-5.2.0.tar.bz2) = eaedd62e7a738f6bdc0e97a0c40fbbd75d35925b @@ -8,4 +8,7 @@ SHA1 (newlib-2.2.0.tar.gz) = 16fc7bc82e445341b9e741a3fc57b818691fa375 RMD160 (newlib-2.2.0.tar.gz) = f295a83d08c4ccb4ccde355fbbd55f54352ff2ad SHA512 (newlib-2.2.0.tar.gz) = ab9161f16845367c823b6709e3c5708969f29f05c77edb1cf969ff4202f358648f1e55080974599dcefed2fbced4694dc73748596e76c1aa37c50cddff6e4be3 Size (newlib-2.2.0.tar.gz) = 16521910 bytes +SHA1 (patch-gcc_system.h) = 72a75ff773b9b5f3d2f16f4ec7d29e032aba5f53 +SHA1 (patch-libcc1_connection.cc) = 2acd56a6f62b29ed3f02eecb7bf103e4564a442c SHA1 (patch-libgo_mksysinfo.sh) = f14e68a0c8cc823442661e3523b3b6b9b9a5fd1c +SHA1 (patch-libiberty_Makefile.in) = 6f61bd7bb473e8825adf5c25bc57ff3f3602beb5 diff --git a/cross/arm-none-eabi-gcc5/patches/patch-gcc_system.h b/cross/arm-none-eabi-gcc5/patches/patch-gcc_system.h new file mode 100644 index 00000000000..d78ab9a7c94 --- /dev/null +++ b/cross/arm-none-eabi-gcc5/patches/patch-gcc_system.h @@ -0,0 +1,14 @@ +$NetBSD: patch-gcc_system.h,v 1.1 2015/12/10 03:02:16 joerg Exp $ + +--- gcc/system.h.orig 2015-01-05 12:33:28.000000000 +0000 ++++ gcc/system.h +@@ -44,6 +44,9 @@ along with GCC; see the file COPYING3. + #endif + + #include <stdio.h> ++#ifdef __cplusplus ++# include <cstdio> ++#endif + + /* Define a generic NULL if one hasn't already been defined. */ + #ifndef NULL diff --git a/cross/arm-none-eabi-gcc5/patches/patch-libcc1_connection.cc b/cross/arm-none-eabi-gcc5/patches/patch-libcc1_connection.cc new file mode 100644 index 00000000000..260b5c28e1a --- /dev/null +++ b/cross/arm-none-eabi-gcc5/patches/patch-libcc1_connection.cc @@ -0,0 +1,12 @@ +$NetBSD: patch-libcc1_connection.cc,v 1.1 2015/12/10 03:02:16 joerg Exp $ + +--- libcc1/connection.cc.orig 2014-11-13 10:22:22.000000000 +0000 ++++ libcc1/connection.cc +@@ -23,6 +23,7 @@ along with GCC; see the file COPYING3. + #include <sys/types.h> + #include <string.h> + #include <errno.h> ++#include <sys/select.h> + #include "marshall.hh" + #include "connection.hh" + #include "rpc.hh" diff --git a/cross/arm-none-eabi-gcc5/patches/patch-libiberty_Makefile.in b/cross/arm-none-eabi-gcc5/patches/patch-libiberty_Makefile.in new file mode 100644 index 00000000000..3e2efc0434b --- /dev/null +++ b/cross/arm-none-eabi-gcc5/patches/patch-libiberty_Makefile.in @@ -0,0 +1,37 @@ +$NetBSD: patch-libiberty_Makefile.in,v 1.1 2015/12/10 03:02:16 joerg Exp $ + +--- libiberty/Makefile.in.orig 2014-12-24 16:22:51.000000000 +0000 ++++ libiberty/Makefile.in +@@ -363,13 +363,12 @@ install-strip: install + # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the + # default multilib, so we have to take CFLAGS into account as well, + # since it will be passed the multilib flags. +-MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` + install_to_libdir: all + if test -n "${target_header_dir}"; then \ +- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ +- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \ +- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \ +- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \ ++ ${mkinstalldirs} $(DESTDIR)$(libdir) ++ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(TARGETLIB)n ++ ( cd $(DESTDIR)$(libdir) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ) ++ mv -f $(DESTDIR)$(libdir)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(TARGETLIB) + case "${target_header_dir}" in \ + /*) thd=${target_header_dir};; \ + *) thd=${includedir}/${target_header_dir};; \ +@@ -382,10 +381,10 @@ install_to_libdir: all + @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install + + install_to_tooldir: all +- ${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) +- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n +- ( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n; $(RANLIB) $(TARGETLIB)n ) +- mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB) ++ ${mkinstalldirs} $(DESTDIR)$(tooldir)/lib ++ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(TARGETLIB)n ++ ( cd $(DESTDIR)$(tooldir)/lib ; chmod 644 $(TARGETLIB)n; $(RANLIB) $(TARGETLIB)n ) ++ mv -f $(DESTDIR)$(tooldir)/lib/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/$(TARGETLIB) + @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install + + # required-list was used when building a shared bfd/opcodes/libiberty |