summaryrefslogtreecommitdiff
path: root/lang/gcc48
diff options
context:
space:
mode:
authormaya <maya@pkgsrc.org>2019-08-06 06:16:14 +0000
committermaya <maya@pkgsrc.org>2019-08-06 06:16:14 +0000
commit4cdfcffb081236296e34099a12c0819b7f841332 (patch)
treec34268cb2a9edb0bf5085780561bcee9f0926411 /lang/gcc48
parenta4c8127224c7d25717ee9ffca0f22af8a6f271b6 (diff)
downloadpkgsrc-4cdfcffb081236296e34099a12c0819b7f841332.tar.gz
gcc{48,49,5,6}: add patch to avoid fragile include guard logic
for ansi.h on netbsd. gcc{7,8}: document same patch that already existed was upstreamed. This patch is necessary to build GCC on NetBSD >= 9.0, since changes to ansi.h resulted in not using the same include guards. Fixes PR toolchain/54362
Diffstat (limited to 'lang/gcc48')
-rw-r--r--lang/gcc48/distinfo4
-rw-r--r--lang/gcc48/patches/patch-gcc_ginclude_stddef.h71
2 files changed, 61 insertions, 14 deletions
diff --git a/lang/gcc48/distinfo b/lang/gcc48/distinfo
index cc1f17c6903..cf48f08236e 100644
--- a/lang/gcc48/distinfo
+++ b/lang/gcc48/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.38 2018/07/18 23:15:42 maya Exp $
+$NetBSD: distinfo,v 1.39 2019/08/06 06:16:14 maya Exp $
SHA1 (ecj-4.5.jar) = 58c1d79c64c8cd718550f32a932ccfde8d1e6449
RMD160 (ecj-4.5.jar) = d3f4da657f086b6423f74e93f001132f4855368a
@@ -55,7 +55,7 @@ SHA1 (patch-gcc_cp_except.c) = c96ca1aca26ccb4930139c6b656ffa9e462de6b4
SHA1 (patch-gcc_doc_gcc.texi) = 0b6ea28f887efc78ebd2f450c3f59ee7eaa15117
SHA1 (patch-gcc_fortran_f95-lang.c) = 8dc0a1728fd0521caf71a4f5c2eb938340f20efa
SHA1 (patch-gcc_ggc-common.c) = fa577bc25260d7e6304f166686ba51c0b677d7f6
-SHA1 (patch-gcc_ginclude_stddef.h) = 220ec23aecffca81337ae4c06afc18051da89b9a
+SHA1 (patch-gcc_ginclude_stddef.h) = 8eb1500c59fe778735d59e2b621c04cfc1633d60
SHA1 (patch-gcc_go_go-lang.c) = dbef7b86ccbf657356412a2420d98725d53eb356
SHA1 (patch-gcc_java_lang.c) = 781c8f70241df0e5cfb1c69beb755bee14a6c54e
SHA1 (patch-gcc_lto_lto.c) = cc7fdf396c238785141e0ffc8ca8f62a91640f58
diff --git a/lang/gcc48/patches/patch-gcc_ginclude_stddef.h b/lang/gcc48/patches/patch-gcc_ginclude_stddef.h
index 9fecd80814f..aa0fecf2148 100644
--- a/lang/gcc48/patches/patch-gcc_ginclude_stddef.h
+++ b/lang/gcc48/patches/patch-gcc_ginclude_stddef.h
@@ -1,10 +1,20 @@
-$NetBSD: patch-gcc_ginclude_stddef.h,v 1.2 2014/04/08 06:20:42 asau Exp $
+$NetBSD: patch-gcc_ginclude_stddef.h,v 1.3 2019/08/06 06:16:14 maya Exp $
---- gcc/ginclude/stddef.h.orig 2013-01-10 20:38:27.000000000 +0000
+Avoid relying on fragile include guards for NetBSD ansi.h.
+DragonflyBSD support
+
+Both upstreamed (GCC 9.x, GCC 5.x respectively)
+
+--- gcc/ginclude/stddef.h.orig 2019-08-06 05:58:50.166834311 +0000
+++ gcc/ginclude/stddef.h
-@@ -50,12 +50,21 @@ see the files COPYING3 and COPYING.RUNTI
- one less case to deal with in the following. */
- #if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
+@@ -46,21 +46,24 @@ see the files COPYING3 and COPYING.RUNTI
+ /* This avoids lossage on SunOS but only if stdtypes.h comes first.
+ There's no way to win with the other order! Sun lossage. */
+
+-/* On 4.3bsd-net2, make sure ansi.h is included, so we have
+- one less case to deal with in the following. */
+-#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
++#if defined(__NetBSD__)
#include <machine/ansi.h>
+#if !defined(_MACHINE_ANSI_H_)
+#if defined(_I386_ANSI_H_) || defined(_X86_64_ANSI_H_)
@@ -17,14 +27,29 @@ $NetBSD: patch-gcc_ginclude_stddef.h,v 1.2 2014/04/08 06:20:42 asau Exp $
#include <sys/_types.h>
#endif
+-/* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
+- defined if the corresponding type is *not* defined.
+- FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
+- NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ */
+-#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_)
+#if defined(__DragonFly__)
+#include <sys/types.h>
+#endif
+
- /* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
- defined if the corresponding type is *not* defined.
- FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
-@@ -133,6 +142,7 @@ _TYPE_wchar_t;
++#if defined(__NetBSD__)
+ #if !defined(_SIZE_T_) && !defined(_BSD_SIZE_T_)
+ #define _SIZE_T
+ #endif
+@@ -87,7 +90,7 @@ see the files COPYING3 and COPYING.RUNTI
+ #undef _WCHAR_T_
+ #undef _BSD_WCHAR_T_
+ #endif
+-#endif /* defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_) */
++#endif /* defined(__NetBSD__) */
+
+ /* Sequent's header files use _PTRDIFF_T_ in some conflicting way.
+ Just ignore it. */
+@@ -133,6 +136,7 @@ _TYPE_wchar_t;
#ifndef _BSD_PTRDIFF_T_
#ifndef ___int_ptrdiff_t_h
#ifndef _GCC_PTRDIFF_T
@@ -32,7 +57,7 @@ $NetBSD: patch-gcc_ginclude_stddef.h,v 1.2 2014/04/08 06:20:42 asau Exp $
#define _PTRDIFF_T
#define _T_PTRDIFF_
#define _T_PTRDIFF
-@@ -141,10 +151,12 @@ _TYPE_wchar_t;
+@@ -141,10 +145,12 @@ _TYPE_wchar_t;
#define _BSD_PTRDIFF_T_
#define ___int_ptrdiff_t_h
#define _GCC_PTRDIFF_T
@@ -45,7 +70,7 @@ $NetBSD: patch-gcc_ginclude_stddef.h,v 1.2 2014/04/08 06:20:42 asau Exp $
#endif /* _GCC_PTRDIFF_T */
#endif /* ___int_ptrdiff_t_h */
#endif /* _BSD_PTRDIFF_T_ */
-@@ -198,6 +210,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
+@@ -198,6 +204,7 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
#define _GCC_SIZE_T
#define _SIZET_
#if (defined (__FreeBSD__) && (__FreeBSD__ >= 5)) \
@@ -53,7 +78,7 @@ $NetBSD: patch-gcc_ginclude_stddef.h,v 1.2 2014/04/08 06:20:42 asau Exp $
|| defined(__FreeBSD_kernel__)
/* __size_t is a typedef on FreeBSD 5, must not trash it. */
#elif defined (__VMS__)
-@@ -306,7 +319,7 @@ typedef _BSD_RUNE_T_ rune_t;
+@@ -306,7 +313,7 @@ typedef _BSD_RUNE_T_ rune_t;
/* FreeBSD 5 can't be handled well using "traditional" logic above
since it no longer defines _BSD_RUNE_T_ yet still desires to export
rune_t in some cases... */
@@ -62,3 +87,25 @@ $NetBSD: patch-gcc_ginclude_stddef.h,v 1.2 2014/04/08 06:20:42 asau Exp $
#if !defined (_ANSI_SOURCE) && !defined (_POSIX_SOURCE)
#if __BSD_VISIBLE
#ifndef _RUNE_T_DECLARED
+@@ -355,11 +362,7 @@ typedef __WINT_TYPE__ wint_t;
+ #undef __need_wint_t
+ #endif
+
+-/* In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
+- are already defined. */
+-/* BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. */
+-/* NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here. */
+-#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_)
++#if defined(__NetBSD__)
+ /* The references to _GCC_PTRDIFF_T_, _GCC_SIZE_T_, and _GCC_WCHAR_T_
+ are probably typos and should be removed before 2.8 is released. */
+ #ifdef _GCC_PTRDIFF_T_
+@@ -387,7 +390,7 @@ typedef __WINT_TYPE__ wint_t;
+ #undef _WCHAR_T_
+ #undef _BSD_WCHAR_T_
+ #endif
+-#endif /* _ANSI_H_ || _MACHINE_ANSI_H_ || _X86_64_ANSI_H_ || _I386_ANSI_H_ */
++#endif /* __NetBSD__ */
+
+ #endif /* __sys_stdtypes_h */
+