From 0fd93f23308af832b71e90c778ebc67e69d081b9 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 14 Mar 2018 09:38:01 -0500 Subject: [PATCH] gc: Effectively overrides -fexceptions flag (#1551671) move autoreconf to %build --- gc-7.6.4-dont_disable_exceptions.patch | 12 ++++++++++++ gc.spec | 14 +++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 gc-7.6.4-dont_disable_exceptions.patch diff --git a/gc-7.6.4-dont_disable_exceptions.patch b/gc-7.6.4-dont_disable_exceptions.patch new file mode 100644 index 0000000..422b149 --- /dev/null +++ b/gc-7.6.4-dont_disable_exceptions.patch @@ -0,0 +1,12 @@ +diff -up gc-7.6.4/pthread_start.c.dont_disable_exceptions gc-7.6.4/pthread_start.c +--- gc-7.6.4/pthread_start.c.dont_disable_exceptions 2018-01-26 07:16:17.000000000 -0600 ++++ gc-7.6.4/pthread_start.c 2018-03-14 09:21:34.263477197 -0500 +@@ -22,7 +22,7 @@ + /* case at the top of the file. FIXME: it's still unclear whether this */ + /* will actually cause the exit handler to be invoked last when */ + /* thread_exit is called (and if -fexceptions is used). */ +-#if defined(__GNUC__) && defined(__linux__) ++#if 0 && defined(__GNUC__) && defined(__linux__) + /* We undefine __EXCEPTIONS to avoid using GCC __cleanup__ attribute. */ + /* The current NPTL implementation of pthread_cleanup_push uses */ + /* __cleanup__ attribute when __EXCEPTIONS is defined (-fexceptions). */ diff --git a/gc.spec b/gc.spec index f930750..0b5ec35 100644 --- a/gc.spec +++ b/gc.spec @@ -2,7 +2,7 @@ Summary: A garbage collector for C and C++ Name: gc Version: 7.6.4 -Release: 2%{?dist} +Release: 3%{?dist} License: BSD Url: http://www.hboehm.info/gc/ @@ -16,6 +16,10 @@ Patch1: 0001-Add-initial-RISC-V-support.patch # Upstream commit 3b008f79ee29dbd0d61cf163d20eee21412df95b. Patch2: 0001-Merge-RISCV-32-64-bit-configurations-definition.patch +## downstream patches +# https://bugzilla.redhat.com/show_bug.cgi?id=1551671 +Patch100: gc-7.6.4-dont_disable_exceptions.patch + BuildRequires: automake libtool BuildRequires: gcc-c++ BuildRequires: pkgconfig(atomic_ops) >= 7.4 @@ -41,12 +45,12 @@ Provides: libgc-devel = %{version}-%{release} %prep %autosetup -n gc-%{version}%{?pre} -p1 + +%build # refresh auto*/libtool to purge rpaths rm -f libtool libtool.m4 autoreconf -i -f - -%build # see bugzilla.redhat.com/689877 CPPFLAGS="-DUSE_GET_STACKBASE_FOR_MAIN"; export CPPFLAGS @@ -106,6 +110,10 @@ make check %{?arch_ignore} %changelog +* Wed Mar 14 2018 Rex Dieter - 7.6.4-3 +- gc: Effectively overrides -fexceptions flag (#1551671) +- move autoreconf to %%build + * Tue Feb 27 2018 Richard W.M. Jones - 7.6.4-2 - Add upstream patches for RISC-V support.