pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Add a gcc10 libatomic-only package for he@ to play with
Module Name: pkgsrc-wip
Committed By: Maya Rashish <maya%NetBSD.org@localhost>
Pushed By: coypu
Date: Wed May 20 14:24:32 2020 +0300
Changeset: 2d5373e27a6472f124cd7c6000978aa69e95edb1
Modified Files:
Makefile
Added Files:
gcc10-libatomic/DESCR
gcc10-libatomic/Makefile
gcc10-libatomic/PLIST
gcc10-libatomic/buildlink3.mk
gcc10-libatomic/distinfo
gcc10-libatomic/patches/patch-contrib_download__prerequisites
gcc10-libatomic/patches/patch-fixincludes_inclhack.def
gcc10-libatomic/patches/patch-gcc_Makefile.in
gcc10-libatomic/patches/patch-gcc_config_aarch64_aarch64-builtins.c
gcc10-libatomic/patches/patch-gcc_configure
gcc10-libatomic/patches/patch-gcc_ggc-common.c
gcc10-libatomic/patches/patch-gcc_lto_lto.c
gcc10-libatomic/patches/patch-gcc_targhooks.c
gcc10-libatomic/patches/patch-libffi_configure
gcc10-libatomic/patches/patch-libffi_testsuite_libffi.call_float2.c
gcc10-libatomic/patches/patch-libgcc_crtstuff.c
gcc10-libatomic/patches/patch-libgfortran_io_format.c
gcc10-libatomic/patches/patch-libgfortran_io_io.h
gcc10-libatomic/patches/patch-libgfortran_io_list__read.c
gcc10-libatomic/patches/patch-libgfortran_io_read.c
gcc10-libatomic/patches/patch-libgfortran_runtime_environ.c
gcc10-libatomic/patches/patch-libquadmath_printf_quadmath-printf.c
gcc10-libatomic/patches/patch-libquadmath_strtod_strtod__l.c
gcc10-libatomic/patches/patch-libstdc++-v3_libsupc++_new__opa.cc
gcc10-libatomic/version.mk
Log Message:
Add a gcc10 libatomic-only package for he@ to play with
XXX edit buildlink3, more cleanup
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=2d5373e27a6472f124cd7c6000978aa69e95edb1
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
gcc10-libatomic/DESCR | 2 +
gcc10-libatomic/Makefile | 51 ++++++++++++++++++++++
gcc10-libatomic/PLIST | 2 +
gcc10-libatomic/buildlink3.mk | 24 ++++++++++
gcc10-libatomic/distinfo | 30 +++++++++++++
.../patches/patch-contrib_download__prerequisites | 17 ++++++++
.../patches/patch-fixincludes_inclhack.def | 36 +++++++++++++++
gcc10-libatomic/patches/patch-gcc_Makefile.in | 15 +++++++
.../patch-gcc_config_aarch64_aarch64-builtins.c | 17 ++++++++
gcc10-libatomic/patches/patch-gcc_configure | 15 +++++++
gcc10-libatomic/patches/patch-gcc_ggc-common.c | 51 ++++++++++++++++++++++
gcc10-libatomic/patches/patch-gcc_lto_lto.c | 19 ++++++++
gcc10-libatomic/patches/patch-gcc_targhooks.c | 17 ++++++++
gcc10-libatomic/patches/patch-libffi_configure | 16 +++++++
.../patch-libffi_testsuite_libffi.call_float2.c | 15 +++++++
gcc10-libatomic/patches/patch-libgcc_crtstuff.c | 15 +++++++
.../patches/patch-libgfortran_io_format.c | 17 ++++++++
gcc10-libatomic/patches/patch-libgfortran_io_io.h | 18 ++++++++
.../patches/patch-libgfortran_io_list__read.c | 17 ++++++++
.../patches/patch-libgfortran_io_read.c | 44 +++++++++++++++++++
.../patches/patch-libgfortran_runtime_environ.c | 26 +++++++++++
.../patch-libquadmath_printf_quadmath-printf.c | 26 +++++++++++
.../patches/patch-libquadmath_strtod_strtod__l.c | 23 ++++++++++
.../patch-libstdc++-v3_libsupc++_new__opa.cc | 17 ++++++++
gcc10-libatomic/version.mk | 2 +
26 files changed, 533 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index 0e4b366da2..e1f1757a31 100644
--- a/Makefile
+++ b/Makefile
@@ -1030,6 +1030,7 @@ SUBDIR+= gcc47
SUBDIR+= gcc47-libs
SUBDIR+= gcc7-contrib
SUBDIR+= gcc9snapshot
+SUBDIR+= gcc10-libatomic
SUBDIR+= gconf-cleaner
SUBDIR+= gdal-docs
SUBDIR+= gdal-grass
diff --git a/gcc10-libatomic/DESCR b/gcc10-libatomic/DESCR
new file mode 100644
index 0000000000..902190a230
--- /dev/null
+++ b/gcc10-libatomic/DESCR
@@ -0,0 +1,2 @@
+The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C,
+Fortran, and Go.
diff --git a/gcc10-libatomic/Makefile b/gcc10-libatomic/Makefile
new file mode 100644
index 0000000000..8765e6f0e2
--- /dev/null
+++ b/gcc10-libatomic/Makefile
@@ -0,0 +1,51 @@
+# $NetBSD: Makefile,v 1.2 2020/05/17 19:47:19 rillig Exp $
+
+GCC_PKGNAME= gcc10
+.include "version.mk"
+
+DISTNAME= gcc-${GCC10_DIST_VERSION}
+PKGNAME= ${GCC_PKGNAME}-${GCC10_DIST_VERSION}
+PKGREVISION= 1
+## When bumping the PKGREVISION of this package the PKGREVISION of
+## lang/gcc10-libs needs to be bump to be at least 1 more than the
+## PKGREVISION of this package!
+CATEGORIES= lang
+MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC10_DIST_VERSION}/}
+EXTRACT_SUFX= .tar.xz
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= https://gcc.gnu.org/
+COMMENT= The GNU Compiler Collection (GCC) - 10.0 Release Series
+LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
+
+DISTFILES= ${DEFAULT_DISTFILES}
+EXTRACT_ONLY= ${DEFAULT_DISTFILES}
+
+NOT_FOR_PLATFORM= Interix-*-*
+
+USE_LANGUAGES= c99 c++
+USE_TOOLS+= gmake makeinfo sed:run tar:build
+
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_STRICT= no
+## Build outside ${WRKSRC}
+OBJDIR= ../build
+CONFIGURE_DIRS= ${OBJDIR}
+CONFIGURE_SCRIPT= ../${DISTNAME}/libatomic/configure
+INFO_FILES= yes
+
+UNLIMIT_RESOURCES+= datasize
+UNLIMIT_RESOURCES+= stacksize
+
+CHECK_PORTABILITY_SKIP+= contrib/*
+
+.include "../../mk/bsd.prefs.mk"
+
+LANGS= c
+
+pre-configure:
+ ${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
+
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/gcc10-libatomic/PLIST b/gcc10-libatomic/PLIST
new file mode 100644
index 0000000000..02d6fcd502
--- /dev/null
+++ b/gcc10-libatomic/PLIST
@@ -0,0 +1,2 @@
+@comment $NetBSD$
+lib/libatomic.la
diff --git a/gcc10-libatomic/buildlink3.mk b/gcc10-libatomic/buildlink3.mk
new file mode 100644
index 0000000000..01e4c8840c
--- /dev/null
+++ b/gcc10-libatomic/buildlink3.mk
@@ -0,0 +1,24 @@
+# $NetBSD: buildlink3.mk,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+BUILDLINK_TREE+= gcc10
+
+.if !defined(GCC10_BUILDLINK3_MK)
+GCC10_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.gcc10+= gcc10>=${_GCC_REQD}
+BUILDLINK_ABI_DEPENDS.gcc10+= gcc10>=10.0
+BUILDLINK_PKGSRCDIR.gcc10= ../../lang/gcc10
+BUILDLINK_DEPMETHOD.gcc10?= build
+
+BUILDLINK_PASSTHRU_DIRS+= ${BUILDLINK_PREFIX.gcc10}/gcc10
+
+BUILDLINK_FILES.gcc10= # empty
+BUILDLINK_AUTO_VARS.gcc10= no
+
+pkgbase := gcc10
+.include "../../mk/pkg-build-options.mk"
+.include "../../mk/dlopen.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.endif
+
+BUILDLINK_TREE+= -gcc10
diff --git a/gcc10-libatomic/distinfo b/gcc10-libatomic/distinfo
new file mode 100644
index 0000000000..6cb0b31fe5
--- /dev/null
+++ b/gcc10-libatomic/distinfo
@@ -0,0 +1,30 @@
+$NetBSD: distinfo,v 1.3 2020/05/17 19:49:18 rillig Exp $
+
+SHA1 (gcc-10.1.0.tar.xz) = 1af8d963e4a74d05a8f2d0f795ea52d2b91f6c50
+RMD160 (gcc-10.1.0.tar.xz) = eb9c7a9c10fbe5b4ff84818b280248ab97d17769
+SHA512 (gcc-10.1.0.tar.xz) = 0cb2a74c793face751f42bc580960b00e2bfea785872a0a2155f1f1dbfaa248f9591b67f4322db0f096f8844aca9243bc02732bda106c3b6e43b02bb67eb3096
+Size (gcc-10.1.0.tar.xz) = 74591240 bytes
+SHA1 (isl-0.16.1.tar.bz2) = c5a2b201bf05229647e73203c0bf2d9679d4d21f
+RMD160 (isl-0.16.1.tar.bz2) = 5a99db3fe0d0a1f6bbac1ed4448f2403495c55b2
+SHA512 (isl-0.16.1.tar.bz2) = c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf41301cf285fb7328846d9a367c096012fec4cc69d244f0bc9e95d84c09ec097394cd4093076f2a041b
+Size (isl-0.16.1.tar.bz2) = 1626446 bytes
+SHA1 (patch-contrib_download__prerequisites) = 9cdcde21ab174052911447d20762ddfd40aa8791
+SHA1 (patch-fixincludes_inclhack.def) = 7b00974d3f52a8364190a607f52a5d7e8a6db41a
+SHA1 (patch-gcc_Makefile.in) = c0f97c75ba1d37eae894141edd58bb36b734f651
+SHA1 (patch-gcc_config_aarch64_aarch64-builtins.c) = f4d8ab855d0755dfe533053cedde6940cb837ce0
+SHA1 (patch-gcc_configure) = 6a2d8eeeed2bf08c3c81291178e669dc91c913ce
+SHA1 (patch-gcc_ggc-common.c) = 3e325767922ab7d2079fdb9a3d6b6aa531a2fea5
+SHA1 (patch-gcc_lto_lto.c) = 7bd85ac8ade76a28c394f6fbe5d495f91824f79f
+SHA1 (patch-gcc_targhooks.c) = b28d8a9696d07bbfb00b7d8c55193ba99447ff1d
+SHA1 (patch-isl_configure) = 5523c76d95b229b3cd25461b4c2b7af24bf2534e
+SHA1 (patch-libffi_configure) = 22006b20d7f655e2455a7ad613d676703b6c1ccc
+SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 27b84a11378fb648dfaad0c70abedd77a0a1c1a8
+SHA1 (patch-libgcc_crtstuff.c) = a16d465039de00c195cf0694560140a9c38f3a25
+SHA1 (patch-libgfortran_io_format.c) = 9bbc5e4f6277bdec785b3690fd08259939a2aa1a
+SHA1 (patch-libgfortran_io_io.h) = d44676239a7f45e42054d24bd5224f43c20055c0
+SHA1 (patch-libgfortran_io_list__read.c) = 589cdb8dcd180b781ededc086e8775224fca5779
+SHA1 (patch-libgfortran_io_read.c) = cf21493396d07a5e8ad0dfb70a8d25a11482fc98
+SHA1 (patch-libgfortran_runtime_environ.c) = c7217704a00f4c0314bbc1838ac6fc966cc854d0
+SHA1 (patch-libquadmath_printf_quadmath-printf.c) = 78e09f1e6d61ee57cee83275093cf46b2335d204
+SHA1 (patch-libquadmath_strtod_strtod__l.c) = 6142c10d34174174cce7f06c37eab04dc431b2dc
+SHA1 (patch-libstdc++-v3_libsupc++_new__opa.cc) = 4183b00a5ee6e61524da4755c825a0c08fd01ed6
diff --git a/gcc10-libatomic/patches/patch-contrib_download__prerequisites b/gcc10-libatomic/patches/patch-contrib_download__prerequisites
new file mode 100644
index 0000000000..9f8a76a0d1
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-contrib_download__prerequisites
@@ -0,0 +1,17 @@
+$NetBSD: patch-contrib_download__prerequisites,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+Non-portable test
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90142
+
+--- contrib/download_prerequisites.orig 2017-04-11 16:34:07.000000000 +0000
++++ contrib/download_prerequisites
+@@ -122,7 +122,7 @@ md5_check() {
+ md5_checksum_output=$(md5 -r "${file_to_check}")
+ # Grab the text before the first space
+ md5_checksum_detected="${md5_checksum_output%% *}"
+- [ "${md5_checksum_expected}" == "${md5_checksum_detected}" ] \
++ [ "${md5_checksum_expected}" = "${md5_checksum_detected}" ] \
+ || die "Cannot verify integrity of possibly corrupted file ${file_to_check}"
+ echo "${file_to_check}: OK"
+ }
diff --git a/gcc10-libatomic/patches/patch-fixincludes_inclhack.def b/gcc10-libatomic/patches/patch-fixincludes_inclhack.def
new file mode 100644
index 0000000000..fff9437cfe
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-fixincludes_inclhack.def
@@ -0,0 +1,36 @@
+$NetBSD: patch-fixincludes_inclhack.def,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+A workaround for Catalina SDK bug from
+https://github.com/Homebrew/homebrew-core/pull/44762
+
+--- fixincludes/inclhack.def.orig 2020-03-04 08:29:59.000000000 +0000
++++ fixincludes/inclhack.def
+@@ -1269,6 +1269,28 @@ fix = {
+ };
+
+ /*
++ * macOS 10.15 <Availability.h> does not define __OSX_AVAILABLE_STARTING on
++ * non-clang compilers.
++ */
++fix = {
++ hackname = darwin_availability;
++ mach = "*-*-darwin*";
++ files = Availability.h;
++ select = "#endif /\\* __OSX_AVAILABLE_STARTING \\*/";
++ c_fix = format;
++ c_fix_arg = <<- _EOFix_
++ #endif /* __OSX_AVAILABLE_STARTING */
++ #ifndef __OSX_AVAILABLE_STARTING
++ #define __OSX_AVAILABLE_STARTING(_osx, _ios)
++ #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep)
++ #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg)
++ #endif
++ _EOFix_;
++
++ test_text = "#endif /* __OSX_AVAILABLE_STARTING */";
++};
++
++/*
+ * macOS 10.12 <AvailabilityInternal.h> uses __attribute__((availability))
+ * unconditionally.
+ */
diff --git a/gcc10-libatomic/patches/patch-gcc_Makefile.in b/gcc10-libatomic/patches/patch-gcc_Makefile.in
new file mode 100644
index 0000000000..cd32c67b2f
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-gcc_Makefile.in
@@ -0,0 +1,15 @@
+$NetBSD: patch-gcc_Makefile.in,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+Add gcc libdir to a programs rpath so that _this gcc's_ support libraries
+are found.
+
+--- gcc/Makefile.in.orig 2017-04-18 18:10:27.000000000 +0000
++++ gcc/Makefile.in
+@@ -2112,6 +2112,7 @@ prefix.o: $(BASEVER)
+ # Language-independent files.
+
+ DRIVER_DEFINES = \
++ -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG) $(prefix)//lib/%M $(LINKER_RPATH_FLAG) $(libdir)/%M \"" \
+ -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
+ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
+ -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \
diff --git a/gcc10-libatomic/patches/patch-gcc_config_aarch64_aarch64-builtins.c b/gcc10-libatomic/patches/patch-gcc_config_aarch64_aarch64-builtins.c
new file mode 100644
index 0000000000..3580712a4b
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-gcc_config_aarch64_aarch64-builtins.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-gcc_config_aarch64_aarch64-builtins.c,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+initialise subtarget builtins so cabs*() are renamed.
+
+--- gcc/config/aarch64/aarch64-builtins.c.orig 2017-01-20 21:03:41.000000000 +0000
++++ gcc/config/aarch64/aarch64-builtins.c 2018-11-10 00:44:41.905576216 +0000
+@@ -1303,6 +1303,10 @@ aarch64_general_init_builtins (void)
+
+ if (TARGET_MEMTAG)
+ aarch64_init_memtag_builtins ();
++
++#ifdef SUBTARGET_INIT_BUILTINS
++ SUBTARGET_INIT_BUILTINS;
++#endif
+ }
+
+ /* Implement TARGET_BUILTIN_DECL for the AARCH64_BUILTIN_GENERAL group. */
diff --git a/gcc10-libatomic/patches/patch-gcc_configure b/gcc10-libatomic/patches/patch-gcc_configure
new file mode 100644
index 0000000000..95acb48aa1
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-gcc_configure
@@ -0,0 +1,15 @@
+$NetBSD: patch-gcc_configure,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143
+
+--- gcc/configure.orig 2015-09-30 23:06:11.000000000 +0000
++++ gcc/configure
+@@ -28321,7 +28321,7 @@ case "$target" in
+ gcc_cv_target_dl_iterate_phdr=no
+ fi
+ ;;
+- *-*-dragonfly* | *-*-freebsd*)
++ *-*-dragonfly* | *-*-freebsd* | *-*-netbsd* )
+ if grep dl_iterate_phdr $target_header_dir/sys/link_elf.h > /dev/null 2>&1; then
+ gcc_cv_target_dl_iterate_phdr=yes
+ else
diff --git a/gcc10-libatomic/patches/patch-gcc_ggc-common.c b/gcc10-libatomic/patches/patch-gcc_ggc-common.c
new file mode 100644
index 0000000000..8dddadeefa
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-gcc_ggc-common.c
@@ -0,0 +1,51 @@
+$NetBSD: patch-gcc_ggc-common.c,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+--- gcc/ggc-common.c.orig 2014-12-10 03:45:40.000000000 +0000
++++ gcc/ggc-common.c
+@@ -591,6 +591,8 @@ gt_pch_restore (FILE *f)
+ size_t i;
+ struct mmap_info mmi;
+ int result;
++ struct line_maps * old_line_table = line_table;
++ location_t old_input_loc = input_location;
+
+ /* Delete any deletable objects. This makes ggc_pch_read much
+ faster, as it can be sure that no GCable objects remain other
+@@ -603,7 +605,7 @@ gt_pch_restore (FILE *f)
+ for (rt = gt_pch_scalar_rtab; *rt; rt++)
+ for (rti = *rt; rti->base != NULL; rti++)
+ if (fread (rti->base, rti->stride, 1, f) != 1)
+- fatal_error (input_location, "cannot read PCH file: %m");
++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); }
+
+ /* Read in all the global pointers, in 6 easy loops. */
+ for (rt = gt_ggc_rtab; *rt; rt++)
+@@ -611,23 +613,23 @@ gt_pch_restore (FILE *f)
+ for (i = 0; i < rti->nelt; i++)
+ if (fread ((char *)rti->base + rti->stride * i,
+ sizeof (void *), 1, f) != 1)
+- fatal_error (input_location, "cannot read PCH file: %m");
++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); }
+
+ if (fread (&mmi, sizeof (mmi), 1, f) != 1)
+- fatal_error (input_location, "cannot read PCH file: %m");
++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); }
+
+ result = host_hooks.gt_pch_use_address (mmi.preferred_base, mmi.size,
+ fileno (f), mmi.offset);
+ if (result < 0)
+- fatal_error (input_location, "had to relocate PCH");
++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "had to relocate PCH"); }
+ if (result == 0)
+ {
+ if (fseek (f, mmi.offset, SEEK_SET) != 0
+ || fread (mmi.preferred_base, mmi.size, 1, f) != 1)
+- fatal_error (input_location, "cannot read PCH file: %m");
++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); }
+ }
+ else if (fseek (f, mmi.offset + mmi.size, SEEK_SET) != 0)
+- fatal_error (input_location, "cannot read PCH file: %m");
++ { line_table = old_line_table; input_location = old_input_loc; fatal_error (input_location, "cannot read PCH file: %m"); }
+
+ ggc_pch_read (f, mmi.preferred_base);
+
diff --git a/gcc10-libatomic/patches/patch-gcc_lto_lto.c b/gcc10-libatomic/patches/patch-gcc_lto_lto.c
new file mode 100644
index 0000000000..9bef18044a
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-gcc_lto_lto.c
@@ -0,0 +1,19 @@
+$NetBSD: patch-gcc_lto_lto.c,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+Better fallback for netbsd<8 lacking WALLSIG.
+
+--- gcc/lto/lto.c.orig 2018-01-03 21:42:12.000000000 +0000
++++ gcc/lto/lto.c
+@@ -2321,7 +2321,11 @@ wait_for_child ()
+ do
+ {
+ #ifndef WCONTINUED
+-#define WCONTINUED 0
++# ifdef WALLSIG
++# define WCONTINUED WALLSIG
++# else
++# define WCONTINUED 0
++# endif
+ #endif
+ int w = waitpid (0, &status, WUNTRACED | WCONTINUED);
+ if (w == -1)
diff --git a/gcc10-libatomic/patches/patch-gcc_targhooks.c b/gcc10-libatomic/patches/patch-gcc_targhooks.c
new file mode 100644
index 0000000000..1b93af0599
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-gcc_targhooks.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-gcc_targhooks.c,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+PR pkg/53436
+netbsd can't handle hidden reference to stack_chk_fail_local.
+(note: this code is only happening if targeting i386)
+
+--- gcc/targhooks.c.orig 2018-01-13 18:00:59.000000000 +0000
++++ gcc/targhooks.c
+@@ -919,7 +919,7 @@ default_external_stack_protect_fail (voi
+ tree
+ default_hidden_stack_protect_fail (void)
+ {
+-#ifndef HAVE_GAS_HIDDEN
++#if !defined(HAVE_GAS_HIDDEN) || defined(__NetBSD__) || defined(__sun)
+ return default_external_stack_protect_fail ();
+ #else
+ tree t = stack_chk_fail_decl;
diff --git a/gcc10-libatomic/patches/patch-libffi_configure b/gcc10-libatomic/patches/patch-libffi_configure
new file mode 100644
index 0000000000..28e1d2b649
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libffi_configure
@@ -0,0 +1,16 @@
+$NetBSD: patch-libffi_configure,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90146
+https://github.com/libffi/libffi/issues/485
+
+--- libffi/configure.orig 2013-06-01 17:03:49.000000000 +0000
++++ libffi/configure
+@@ -12689,7 +12689,7 @@ case "$target" in
+ $as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
+
+ ;;
+- *-apple-darwin1* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris*)
++ *-apple-darwin1* | *-*-freebsd* | *-*-kfreebsd* | *-*-netbsd* | *-*-openbsd* | *-pc-solaris*)
+
+ $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
+
diff --git a/gcc10-libatomic/patches/patch-libffi_testsuite_libffi.call_float2.c b/gcc10-libatomic/patches/patch-libffi_testsuite_libffi.call_float2.c
new file mode 100644
index 0000000000..42b011cd6e
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libffi_testsuite_libffi.call_float2.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-libffi_testsuite_libffi.call_float2.c,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90146
+
+--- libffi/testsuite/libffi.call/float2.c.orig 2013-06-01 17:08:18.000000000 +0000
++++ libffi/testsuite/libffi.call/float2.c
+@@ -45,7 +45,7 @@ int main (void)
+ /* This is ifdef'd out for now. long double support under SunOS/gcc
+ is pretty much non-existent. You'll get the odd bus error in library
+ routines like printf(). */
+- printf ("%Lf, %Lf, %Lf, %Lf\n", ld, ldblit(f), ld - ldblit(f), LDBL_EPSILON);
++ printf ("%Lf, %Lf, %Lf, %Lf\n", (long double)ld, (long double)ldblit(f), (long double)(ld - ldblit(f)), (long double)LDBL_EPSILON);
+ #endif
+
+ /* These are not always the same!! Check for a reasonable delta */
diff --git a/gcc10-libatomic/patches/patch-libgcc_crtstuff.c b/gcc10-libatomic/patches/patch-libgcc_crtstuff.c
new file mode 100644
index 0000000000..e7f1249f21
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libgcc_crtstuff.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-libgcc_crtstuff.c,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90147
+
+--- libgcc/crtstuff.c.orig 2017-01-01 12:07:43.000000000 +0000
++++ libgcc/crtstuff.c
+@@ -81,7 +81,7 @@ call_ ## FUNC (void) \
+ #endif
+
+ #if defined(TARGET_DL_ITERATE_PHDR) && \
+- (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__))
++ (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__))
+ #define BSD_DL_ITERATE_PHDR_AVAILABLE
+ #endif
+
diff --git a/gcc10-libatomic/patches/patch-libgfortran_io_format.c b/gcc10-libatomic/patches/patch-libgfortran_io_format.c
new file mode 100644
index 0000000000..19ba74633f
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libgfortran_io_format.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-libgfortran_io_format.c,v 1.1 2020/05/17 19:47:19 rillig Exp $
+
+Fix -Werror=char-subscripts.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95177
+
+--- libgfortran/io/format.c.orig 2020-05-07 10:50:02.000000000 +0000
++++ libgfortran/io/format.c
+@@ -193,7 +193,7 @@ next_char (format_data *fmt, int literal
+ return -1;
+
+ fmt->format_string_len--;
+- c = toupper (*fmt->format_string++);
++ c = toupper ((unsigned char) *fmt->format_string++);
+ fmt->error_element = c;
+ }
+ while ((c == ' ' || c == '\t') && !literal);
diff --git a/gcc10-libatomic/patches/patch-libgfortran_io_io.h b/gcc10-libatomic/patches/patch-libgfortran_io_io.h
new file mode 100644
index 0000000000..caaa4e5dbb
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libgfortran_io_io.h
@@ -0,0 +1,18 @@
+$NetBSD: patch-libgfortran_io_io.h,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+Don't declare old_locale* an internal_proto to avoid linking problems
+
+--- libgfortran/io/io.h.orig 2018-01-07 10:17:52.000000000 +0000
++++ libgfortran/io/io.h
+@@ -57,11 +57,8 @@ extern locale_t c_locale;
+ internal_proto(c_locale);
+ #else
+ extern char* old_locale;
+-internal_proto(old_locale);
+ extern int old_locale_ctr;
+-internal_proto(old_locale_ctr);
+ extern __gthread_mutex_t old_locale_lock;
+-internal_proto(old_locale_lock);
+ #endif
+
+
diff --git a/gcc10-libatomic/patches/patch-libgfortran_io_list__read.c b/gcc10-libatomic/patches/patch-libgfortran_io_list__read.c
new file mode 100644
index 0000000000..2f8c73c770
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libgfortran_io_list__read.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-libgfortran_io_list__read.c,v 1.1 2020/05/17 19:47:19 rillig Exp $
+
+Fix -Werror=char-subscripts.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95177
+
+--- libgfortran/io/list_read.c.orig 2020-05-07 10:50:02.000000000 +0000
++++ libgfortran/io/list_read.c
+@@ -2757,7 +2757,7 @@ nml_match_name (st_parameter_dt *dtp, co
+ for (i = 0; i < len; i++)
+ {
+ c = next_char (dtp);
+- if (c == EOF || (tolower (c) != tolower (name[i])))
++ if (c == EOF || (tolower (c) != tolower ((unsigned char) name[i])))
+ {
+ dtp->u.p.nml_read_error = 1;
+ break;
diff --git a/gcc10-libatomic/patches/patch-libgfortran_io_read.c b/gcc10-libatomic/patches/patch-libgfortran_io_read.c
new file mode 100644
index 0000000000..00204accb3
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libgfortran_io_read.c
@@ -0,0 +1,44 @@
+$NetBSD: patch-libgfortran_io_read.c,v 1.1 2020/05/17 19:47:20 rillig Exp $
+
+Fix -Werror=char-subscripts.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95177
+
+--- libgfortran/io/read.c.orig 2020-05-07 10:50:02.000000000 +0000
++++ libgfortran/io/read.c
+@@ -959,7 +959,7 @@ read_f (st_parameter_dt *dtp, const fnod
+ between "NaN" and the optional perenthesis is not permitted. */
+ while (w > 0)
+ {
+- *out = tolower (*p);
++ *out = tolower ((unsigned char) *p);
+ switch (*p)
+ {
+ case ' ':
+@@ -981,7 +981,7 @@ read_f (st_parameter_dt *dtp, const fnod
+ goto bad_float;
+ break;
+ default:
+- if (!isalnum (*out))
++ if (!isalnum ((unsigned char) *out))
+ goto bad_float;
+ }
+ --w;
+@@ -1109,7 +1109,7 @@ exponent:
+
+ if (dtp->u.p.blank_status == BLANK_UNSPECIFIED)
+ {
+- while (w > 0 && isdigit (*p))
++ while (w > 0 && isdigit ((unsigned char) *p))
+ {
+ exponent *= 10;
+ exponent += *p - '0';
+@@ -1137,7 +1137,7 @@ exponent:
+ else
+ assert (dtp->u.p.blank_status == BLANK_NULL);
+ }
+- else if (!isdigit (*p))
++ else if (!isdigit ((unsigned char) *p))
+ goto bad_float;
+ else
+ {
diff --git a/gcc10-libatomic/patches/patch-libgfortran_runtime_environ.c b/gcc10-libatomic/patches/patch-libgfortran_runtime_environ.c
new file mode 100644
index 0000000000..3133da4530
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libgfortran_runtime_environ.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-libgfortran_runtime_environ.c,v 1.1 2020/05/17 19:47:20 rillig Exp $
+
+Fix -Werror=char-subscripts.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95177
+
+--- libgfortran/runtime/environ.c.orig 2020-05-07 10:50:02.000000000 +0000
++++ libgfortran/runtime/environ.c
+@@ -91,7 +91,7 @@ init_integer (variable * v)
+ return;
+
+ for (q = p; *q; q++)
+- if (!isdigit (*q) && (p != q || *q != '-'))
++ if (!isdigit ((unsigned char) *q) && (p != q || *q != '-'))
+ return;
+
+ *v->var = atoi (p);
+@@ -344,7 +344,7 @@ static int
+ match_integer (void)
+ {
+ unit_num = 0;
+- while (isdigit (*p))
++ while (isdigit ((unsigned char) *p))
+ unit_num = unit_num * 10 + (*p++ - '0');
+ return INTEGER;
+ }
diff --git a/gcc10-libatomic/patches/patch-libquadmath_printf_quadmath-printf.c b/gcc10-libatomic/patches/patch-libquadmath_printf_quadmath-printf.c
new file mode 100644
index 0000000000..f29a224185
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libquadmath_printf_quadmath-printf.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-libquadmath_printf_quadmath-printf.c,v 1.1 2020/05/17 19:47:20 rillig Exp $
+
+Fix -Werror=char-subscripts.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95178
+
+--- libquadmath/printf/quadmath-printf.c.orig 2020-05-07 10:50:02.000000000 +0000
++++ libquadmath/printf/quadmath-printf.c
+@@ -189,7 +189,7 @@ quadmath_snprintf (char *str, size_t siz
+ ++format;
+ info.width = va_arg (ap, int);
+ }
+- else if (isdigit (*format))
++ else if (isdigit ((unsigned char) *format))
+ /* Constant width specification. */
+ info.width = read_int (&format);
+
+@@ -206,7 +206,7 @@ quadmath_snprintf (char *str, size_t siz
+
+ info.prec = va_arg (ap, int);
+ }
+- else if (isdigit (*format))
++ else if (isdigit ((unsigned char) *format))
+ info.prec = read_int (&format);
+ else
+ /* "%.?" is treated like "%.0?". */
diff --git a/gcc10-libatomic/patches/patch-libquadmath_strtod_strtod__l.c b/gcc10-libatomic/patches/patch-libquadmath_strtod_strtod__l.c
new file mode 100644
index 0000000000..d7ce1be4f7
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libquadmath_strtod_strtod__l.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-libquadmath_strtod_strtod__l.c,v 1.1 2020/05/17 19:47:20 rillig Exp $
+
+Fix -Werror=char-subscripts.
+
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95178
+
+--- libquadmath/strtod/strtod_l.c.orig 2020-05-07 10:50:02.000000000 +0000
++++ libquadmath/strtod/strtod_l.c
+@@ -57,10 +57,10 @@
+ # define STRING_TYPE char
+ # define CHAR_TYPE char
+ # define L_(Ch) Ch
+-# define ISSPACE(Ch) isspace (Ch)
+-# define ISDIGIT(Ch) isdigit (Ch)
+-# define ISXDIGIT(Ch) isxdigit (Ch)
+-# define TOLOWER(Ch) tolower (Ch)
++# define ISSPACE(Ch) isspace ((unsigned char) Ch)
++# define ISDIGIT(Ch) isdigit ((unsigned char) Ch)
++# define ISXDIGIT(Ch) isxdigit ((unsigned char) Ch)
++# define TOLOWER(Ch) tolower ((unsigned char) Ch)
+ # define TOLOWER_C(Ch) \
+ ({__typeof(Ch) __tlc = (Ch); \
+ (__tlc >= 'A' && __tlc <= 'Z') ? __tlc - 'A' + 'a' : __tlc; })
diff --git a/gcc10-libatomic/patches/patch-libstdc++-v3_libsupc++_new__opa.cc b/gcc10-libatomic/patches/patch-libstdc++-v3_libsupc++_new__opa.cc
new file mode 100644
index 0000000000..b9a6111a86
--- /dev/null
+++ b/gcc10-libatomic/patches/patch-libstdc++-v3_libsupc++_new__opa.cc
@@ -0,0 +1,17 @@
+$NetBSD: patch-libstdc++-v3_libsupc++_new__opa.cc,v 1.1 2020/05/10 15:02:44 maya Exp $
+
+Ensure we can find SunOS std::aligned_alloc if using it.
+
+--- libstdc++-v3/libsupc++/new_opa.cc.orig 2020-03-04 08:30:03.000000000 +0000
++++ libstdc++-v3/libsupc++/new_opa.cc
+@@ -57,6 +57,10 @@ extern "C"
+ }
+ #endif
+
++#if defined(__sun) && _GLIBCXX_HAVE_ALIGNED_ALLOC
++using std::aligned_alloc;
++#endif
++
+ namespace __gnu_cxx {
+ #if _GLIBCXX_HAVE_ALIGNED_ALLOC
+ using ::aligned_alloc;
diff --git a/gcc10-libatomic/version.mk b/gcc10-libatomic/version.mk
new file mode 100644
index 0000000000..427a60e8d8
--- /dev/null
+++ b/gcc10-libatomic/version.mk
@@ -0,0 +1,2 @@
+# $NetBSD: version.mk,v 1.1 2020/05/10 15:02:44 maya Exp $
+GCC10_DIST_VERSION:= 10.1.0
Home |
Main Index |
Thread Index |
Old Index