summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowi@redhat.com>2017-12-04 22:19:41 -0600
committerYaakov Selkowitz <yselkowi@redhat.com>2017-12-04 22:19:41 -0600
commit58782e9cb14c57167de04b256dfa3691afcc406f (patch)
tree26da3ecf17c11d5ecf130d0abd106111bffb4e2e
parent955f3b2458eab4e41a0f7b320b909077d2613493 (diff)
downloadcygwin-gcc-58782e9cb14c57167de04b256dfa3691afcc406f.tar.gz
cygwin-gcc-58782e9cb14c57167de04b256dfa3691afcc406f.tar.xz
cygwin-gcc-58782e9cb14c57167de04b256dfa3691afcc406f.zip
cygwin-gcc 6.4.0
-rw-r--r--.gitignore1
-rw-r--r--0001-share-mingw-fset-stack-executable-with-cygwin.patch4
-rw-r--r--0009-Cygwin-uses-sysv-ABI-on-x86_64.patch2
-rw-r--r--0010-Do-not-version-lto-plugin-on-cygwin-mingw.patch8
-rw-r--r--0020-cygwin-uses-cyg-lib-prefix.patch40
-rw-r--r--0024-libitm-weak-symbols.patch116
-rw-r--r--0025-enable-libcilkrts.patch80
-rw-r--r--0029-gcc-specs.patch12
-rw-r--r--cygwin-gcc.spec259
-rw-r--r--sources2
10 files changed, 286 insertions, 238 deletions
diff --git a/.gitignore b/.gitignore
index 5623bf6..8b71ca2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
/gcc-5.3.0.tar.bz2
/gcc-5.4.0.tar.bz2
+/gcc-6.4.0.tar.bz2
diff --git a/0001-share-mingw-fset-stack-executable-with-cygwin.patch b/0001-share-mingw-fset-stack-executable-with-cygwin.patch
index 05d288d..ae86c1a 100644
--- a/0001-share-mingw-fset-stack-executable-with-cygwin.patch
+++ b/0001-share-mingw-fset-stack-executable-with-cygwin.patch
@@ -16,7 +16,7 @@ index c7e398f..ff63140 100644
+++ b/gcc/config/i386/cygming.opt
@@ -50,6 +50,10 @@ muse-libstdc-wrappers
Target Condition({defined (USE_CYGWIN_LIBSTDCXX_WRAPPERS)})
- Compile code that relies on Cygwin DLL wrappers to support C++ operator new/delete replacement
+ Compile code that relies on Cygwin DLL wrappers to support C++ operator new/delete replacement.
+fset-stack-executable
+Common Report Var(flag_setstackexecutable) Init(1) Optimization
@@ -43,7 +43,7 @@ index 322b66c..a0065a6 100644
+++ b/gcc/config/i386/mingw.opt
@@ -28,8 +28,4 @@ Wpedantic-ms-format
C ObjC C++ ObjC++ Var(warn_pedantic_ms_format) Init(1) Warning
- Warn about none ISO msvcrt scanf/printf width extensions
+ Warn about none ISO msvcrt scanf/printf width extensions.
-fset-stack-executable
-Common Report Var(flag_setstackexecutable) Init(1) Optimization
diff --git a/0009-Cygwin-uses-sysv-ABI-on-x86_64.patch b/0009-Cygwin-uses-sysv-ABI-on-x86_64.patch
index 1467381..d93173a 100644
--- a/0009-Cygwin-uses-sysv-ABI-on-x86_64.patch
+++ b/0009-Cygwin-uses-sysv-ABI-on-x86_64.patch
@@ -74,8 +74,8 @@ index 0eda01b..87f793d 100644
- __asm__(UPFX "GTM_begin_transaction") ITM_REGPARM;
+ __asm__(UPFX "GTM_begin_transaction") ITM_REGPARM ITM_SYSV;
// In eh_cpp.cc
+ void init_cpp_exceptions ();
void revert_cpp_exceptions (gtm_transaction_cp *cp = 0);
-
@@ -322,7 +322,7 @@ namespace GTM HIDDEN {
extern uint64_t gtm_spin_count_var;
diff --git a/0010-Do-not-version-lto-plugin-on-cygwin-mingw.patch b/0010-Do-not-version-lto-plugin-on-cygwin-mingw.patch
index dac123c..9a7760e 100644
--- a/0010-Do-not-version-lto-plugin-on-cygwin-mingw.patch
+++ b/0010-Do-not-version-lto-plugin-on-cygwin-mingw.patch
@@ -16,7 +16,7 @@ diff --git a/gcc/config.host b/gcc/config.host
index 8b7e16d..361de8e 100644
--- a/gcc/config.host
+++ b/gcc/config.host
-@@ -232,14 +232,14 @@ case ${host} in
+@@ -232,22 +232,22 @@ case ${host} in
out_host_hook_obj=host-cygwin.o
host_xmake_file="${host_xmake_file} i386/x-cygwin"
host_exeext=.exe
@@ -33,15 +33,15 @@ index 8b7e16d..361de8e 100644
;;
x86_64-*-mingw*)
use_long_long_for_widest_fast_int=yes
-@@ -247,7 +247,7 @@ case ${host} in
+ host_xm_file=i386/xm-mingw32.h
host_xmake_file="${host_xmake_file} i386/x-mingw32"
host_exeext=.exe
out_host_hook_obj=host-mingw32.o
- host_lto_plugin_soname=liblto_plugin-0.dll
+ host_lto_plugin_soname=liblto_plugin.dll
;;
- i[34567]86-*-uwin*)
- echo "*** UWIN may not be used as a host platform because"
+ i[34567]86-*-darwin* | x86_64-*-darwin*)
+ out_host_hook_obj="${out_host_hook_obj} host-i386-darwin.o"
diff --git a/lto-plugin/Makefile.am b/lto-plugin/Makefile.am
index a90a5da..1ebf155 100644
--- a/lto-plugin/Makefile.am
diff --git a/0020-cygwin-uses-cyg-lib-prefix.patch b/0020-cygwin-uses-cyg-lib-prefix.patch
index 62bcd84..c08bbfa 100644
--- a/0020-cygwin-uses-cyg-lib-prefix.patch
+++ b/0020-cygwin-uses-cyg-lib-prefix.patch
@@ -1,25 +1,25 @@
-From f15f1f7dacc3c41265ff4a89b44ef96cf87f09d2 Mon Sep 17 00:00:00 2001
+From 1e88360b5271f50364a481eed2b588ce8886f71f Mon Sep 17 00:00:00 2001
From: Jonathan Yong <10walls@gmail.com>
Date: Sat, 19 Sep 2015 14:28:13 +0800
-Subject: [PATCH 20/21] cygwin uses cyg lib prefix
+Subject: [PATCH] cygwin uses cyg lib prefix (v2)
---
- gcc/ada/gcc-interface/Makefile.in | 82 ++++++++++++++++++++-------------------
- 1 file changed, 43 insertions(+), 39 deletions(-)
+ gcc/ada/gcc-interface/Makefile.in | 84 +++++++++++++++++++++------------------
+ 1 file changed, 45 insertions(+), 39 deletions(-)
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
-index 1d03f86..048a87d 100644
+index 598b262d914..a373ca0cbb0 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
-@@ -131,6 +131,7 @@ arext = .a
+@@ -130,6 +130,7 @@ arext = .a
soext = .so
shext =
hyphen = -
+soprefix = lib
- # Define this as & to perform parallel make on a Sequent.
- # Note that this has some bugs, and it seems currently necessary
-@@ -388,7 +389,7 @@ EH_MECHANISM=
+ # program_transform_name and objdir are set by configure.ac.
+ program_transform_name =
+@@ -372,7 +373,7 @@ EH_MECHANISM=
# Default shared object option. Note that we rely on the fact that the "soname"
# option will always be present and last in this flag, so that we can have
@@ -28,7 +28,7 @@ index 1d03f86..048a87d 100644
SO_OPTS = -Wl,-soname,
-@@ -1766,6 +1767,9 @@ ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),)
+@@ -1850,6 +1851,9 @@ ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),)
GMEM_LIB = gmemlib
EXTRA_GNATTOOLS = ../../gnatdll$(exeext)
EXTRA_GNATMAKE_OBJS = mdll.o mdll-utl.o mdll-fil.o
@@ -38,7 +38,7 @@ index 1d03f86..048a87d 100644
soext = .dll
LIBRARY_VERSION := $(LIB_VERSION)
endif
-@@ -2667,16 +2671,16 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR) install-gcc-specs
+@@ -2722,16 +2726,16 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR) install-gcc-specs
# Also install the .dSYM directories if they exist (these directories
# contain the debug information for the shared libraries on darwin)
for file in gnat gnarl; do \
@@ -62,7 +62,7 @@ index 1d03f86..048a87d 100644
$(DESTDIR)$(ADA_RTL_OBJ_DIR); \
fi; \
done
-@@ -2809,25 +2813,25 @@ gnatlib-shared-default:
+@@ -2864,25 +2868,25 @@ gnatlib-shared-default:
MULTISUBDIR="$(MULTISUBDIR)" \
THREAD_KIND="$(THREAD_KIND)" \
gnatlib
@@ -97,7 +97,7 @@ index 1d03f86..048a87d 100644
gnatlib-shared-dual:
$(MAKE) $(FLAGS_TO_PASS) \
-@@ -2837,7 +2841,7 @@ gnatlib-shared-dual:
+@@ -2892,7 +2896,7 @@ gnatlib-shared-dual:
MULTISUBDIR="$(MULTISUBDIR)" \
THREAD_KIND="$(THREAD_KIND)" \
gnatlib-shared-default
@@ -106,7 +106,7 @@ index 1d03f86..048a87d 100644
$(RM) ../stamp-gnatlib2-$(RTSDIR)
$(MAKE) $(FLAGS_TO_PASS) \
GNATLIBFLAGS="$(GNATLIBFLAGS)" \
-@@ -2846,7 +2850,7 @@ gnatlib-shared-dual:
+@@ -2901,7 +2905,7 @@ gnatlib-shared-dual:
MULTISUBDIR="$(MULTISUBDIR)" \
THREAD_KIND="$(THREAD_KIND)" \
gnatlib
@@ -115,7 +115,7 @@ index 1d03f86..048a87d 100644
gnatlib-shared-dual-win32:
$(MAKE) $(FLAGS_TO_PASS) \
-@@ -2857,7 +2861,7 @@ gnatlib-shared-dual-win32:
+@@ -2912,7 +2916,7 @@ gnatlib-shared-dual-win32:
MULTISUBDIR="$(MULTISUBDIR)" \
THREAD_KIND="$(THREAD_KIND)" \
gnatlib-shared-win32
@@ -124,7 +124,7 @@ index 1d03f86..048a87d 100644
$(RM) ../stamp-gnatlib2-$(RTSDIR)
$(MAKE) $(FLAGS_TO_PASS) \
GNATLIBFLAGS="$(GNATLIBFLAGS)" \
-@@ -2866,7 +2870,7 @@ gnatlib-shared-dual-win32:
+@@ -2921,7 +2925,7 @@ gnatlib-shared-dual-win32:
MULTISUBDIR="$(MULTISUBDIR)" \
THREAD_KIND="$(THREAD_KIND)" \
gnatlib
@@ -133,7 +133,7 @@ index 1d03f86..048a87d 100644
# ??? we need to add the option to support auto-import of arrays/records to
# the GNATLIBFLAGS when this will be supported by GNAT. At this point we will
-@@ -2880,20 +2884,20 @@ gnatlib-shared-win32:
+@@ -2935,20 +2939,22 @@ gnatlib-shared-win32:
MULTISUBDIR="$(MULTISUBDIR)" \
THREAD_KIND="$(THREAD_KIND)" \
gnatlib
@@ -146,6 +146,7 @@ index 1d03f86..048a87d 100644
+ -o $(soprefix)gnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB)
++ -Wl,-out-implib,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)$(arext) \
+ $(SO_OPTS)$(soprefix)gnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB)
cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \
| sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \
@@ -156,11 +157,12 @@ index 1d03f86..048a87d 100644
- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
- $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
+ $(SO_OPTS)$(soprefix)gnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ -Wl,-out-implib,libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext)$(arext) \
+ $(THREADSLIB) -Wl,$(soprefix)gnat$(hyphen)$(LIBRARY_VERSION)$(soext)
gnatlib-shared-darwin:
$(MAKE) $(FLAGS_TO_PASS) \
-@@ -2903,27 +2907,27 @@ gnatlib-shared-darwin:
+@@ -2958,27 +2964,27 @@ gnatlib-shared-darwin:
MULTISUBDIR="$(MULTISUBDIR)" \
THREAD_KIND="$(THREAD_KIND)" \
gnatlib
@@ -201,5 +203,5 @@ index 1d03f86..048a87d 100644
gnatlib-shared:
$(MAKE) $(FLAGS_TO_PASS) \
--
-2.4.5
+2.13.6
diff --git a/0024-libitm-weak-symbols.patch b/0024-libitm-weak-symbols.patch
index 87f58f3..9f3f6e0 100644
--- a/0024-libitm-weak-symbols.patch
+++ b/0024-libitm-weak-symbols.patch
@@ -1,6 +1,8 @@
---- a/libitm/Makefile.am 2016-02-01 23:54:24.805099900 -0600
-+++ b/libitm/Makefile.am 2016-02-02 00:06:11.466834500 -0600
-@@ -53,7 +53,6 @@
+diff --git a/libitm/Makefile.am b/libitm/Makefile.am
+index 1dce82d..8b133b3 100644
+--- a/libitm/Makefile.am
++++ b/libitm/Makefile.am
+@@ -53,7 +53,6 @@ libitm_version_info = -version-info $(libtool_VERSION)
# Force link with C, not C++. For now, while we're using C++ we don't
# want or need libstdc++.
libitm_la_DEPENDENCIES = $(libitm_version_dep)
@@ -8,9 +10,11 @@
libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
libitm_la_SOURCES = \
---- a/libitm/Makefile.in 2016-02-01 23:54:24.813600900 -0600
-+++ b/libitm/Makefile.in 2016-02-02 00:07:01.109638300 -0600
-@@ -328,7 +328,6 @@
+diff --git a/libitm/Makefile.in b/libitm/Makefile.in
+index 138eeb1..f688e84 100644
+--- a/libitm/Makefile.in
++++ b/libitm/Makefile.in
+@@ -356,7 +356,6 @@ libitm_version_info = -version-info $(libtool_VERSION)
# Force link with C, not C++. For now, while we're using C++ we don't
# want or need libstdc++.
libitm_la_DEPENDENCIES = $(libitm_version_dep)
@@ -18,18 +22,20 @@
libitm_la_LDFLAGS = $(libitm_version_info) $(libitm_version_script)
libitm_la_SOURCES = aatree.cc alloc.cc alloc_c.cc alloc_cpp.cc \
barrier.cc beginend.cc clone.cc eh_cpp.cc local.cc query.cc \
-@@ -446,7 +445,7 @@
+@@ -473,7 +472,7 @@ clean-toolexeclibLTLIBRARIES:
rm -f "$${dir}/so_locations"; \
done
- libitm.la: $(libitm_la_OBJECTS) $(libitm_la_DEPENDENCIES)
+ libitm.la: $(libitm_la_OBJECTS) $(libitm_la_DEPENDENCIES) $(EXTRA_libitm_la_DEPENDENCIES)
- $(libitm_la_LINK) -rpath $(toolexeclibdir) $(libitm_la_OBJECTS) $(libitm_la_LIBADD) $(LIBS)
+ $(CXXLINK) $(libitm_la_LDFLAGS) -rpath $(toolexeclibdir) $(libitm_la_OBJECTS) $(libitm_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
---- a/libitm/alloc_cpp.cc 2015-01-05 06:33:28.000000000 -0600
-+++ b/libitm/alloc_cpp.cc 2016-02-01 23:52:40.097803700 -0600
-@@ -46,21 +46,27 @@
+diff --git a/libitm/alloc_cpp.cc b/libitm/alloc_cpp.cc
+index 1d52e89..9722a0b 100644
+--- a/libitm/alloc_cpp.cc
++++ b/libitm/alloc_cpp.cc
+@@ -50,24 +50,30 @@ using namespace GTM;
/* Everything from libstdc++ is weak, to avoid requiring that library
to be linked into plain C applications using libitm.so. */
@@ -41,33 +47,40 @@
+
extern "C" {
--extern void *_ZnwX (size_t) __attribute__((weak));
--extern void _ZdlPv (void *) __attribute__((weak));
--extern void *_ZnaX (size_t) __attribute__((weak));
--extern void _ZdaPv (void *) __attribute__((weak));
-+extern void *_ZnwX (size_t) WEAK;
-+extern void _ZdlPv (void *) WEAK;
-+extern void *_ZnaX (size_t) WEAK;
-+extern void _ZdaPv (void *) WEAK;
+-extern void *_ZnwX (size_t) __attribute__((weak));
+-extern void _ZdlPv (void *) __attribute__((weak));
+-extern void _ZdlPvX (void *, size_t) __attribute__((weak));
+-extern void *_ZnaX (size_t) __attribute__((weak));
+-extern void _ZdaPv (void *) __attribute__((weak));
++extern void *_ZnwX (size_t) WEAK;
++extern void _ZdlPv (void *) WEAK;
++extern void _ZdlPvX (void *, size_t) WEAK;
++extern void *_ZnaX (size_t) WEAK;
++extern void _ZdaPv (void *) WEAK;
typedef const struct nothrow_t { } *c_nothrow_p;
-extern void *_ZnwXRKSt9nothrow_t (size_t, c_nothrow_p) __attribute__((weak));
-extern void _ZdlPvRKSt9nothrow_t (void *, c_nothrow_p) __attribute__((weak));
--extern void *_ZnaXRKSt9nothrow_t (size_t, c_nothrow_p) __attribute__((weak));
--extern void _ZdaPvRKSt9nothrow_t (void *, c_nothrow_p) __attribute__((weak));
+extern void *_ZnwXRKSt9nothrow_t (size_t, c_nothrow_p) WEAK;
+extern void _ZdlPvRKSt9nothrow_t (void *, c_nothrow_p) WEAK;
+ extern void _ZdlPvXRKSt9nothrow_t
+-(void *, size_t, c_nothrow_p) __attribute__((weak));
+-extern void *_ZnaXRKSt9nothrow_t (size_t, c_nothrow_p) __attribute__((weak));
+-extern void _ZdaPvRKSt9nothrow_t (void *, c_nothrow_p) __attribute__((weak));
++(void *, size_t, c_nothrow_p) WEAK;
+extern void *_ZnaXRKSt9nothrow_t (size_t, c_nothrow_p) WEAK;
+extern void _ZdaPvRKSt9nothrow_t (void *, c_nothrow_p) WEAK;
-#if !defined (HAVE_ELF_STYLE_WEAKREF)
+#if !defined (HAVE_ELF_STYLE_WEAKREF) && !defined(PIC)
- void *_ZnwX (size_t) { return NULL; }
- void _ZdlPv (void *) { return; }
- void *_ZnaX (size_t) { return NULL; }
---- a/libitm/beginend.cc 2015-01-05 06:33:28.000000000 -0600
-+++ b/libitm/beginend.cc 2016-02-01 23:52:40.106804900 -0600
+ void *_ZnwX (size_t) { return NULL; }
+ void _ZdlPv (void *) { return; }
+ void _ZdlPvX (void *, size_t) { return; }
+diff --git a/libitm/beginend.cc b/libitm/beginend.cc
+index 20b5547..3e19441 100644
+--- a/libitm/beginend.cc
++++ b/libitm/beginend.cc
@@ -25,6 +25,24 @@
#include "libitm_i.h"
#include <pthread.h>
@@ -93,9 +106,11 @@
using namespace GTM;
---- a/libitm/configure.tgt 2016-02-01 22:05:27.064912300 -0600
-+++ b/libitm/configure.tgt 2016-02-01 22:10:06.233362200 -0600
-@@ -141,7 +141,7 @@
+diff --git a/libitm/configure.tgt b/libitm/configure.tgt
+index e84382f..8dbe036 100644
+--- a/libitm/configure.tgt
++++ b/libitm/configure.tgt
+@@ -141,7 +141,7 @@ case "${target}" in
*-*-gnu* | *-*-k*bsd*-gnu \
| *-*-netbsd* | *-*-freebsd* | *-*-openbsd* \
| *-*-solaris2* | *-*-sysv4* | *-*-hpux11* \
@@ -104,9 +119,11 @@
# POSIX system. The OS is supported.
;;
---- a/libitm/eh_cpp.cc 2015-01-05 06:33:28.000000000 -0600
-+++ b/libitm/eh_cpp.cc 2016-02-01 23:52:40.110305300 -0600
-@@ -29,7 +29,11 @@
+diff --git a/libitm/eh_cpp.cc b/libitm/eh_cpp.cc
+index a6c06b5..a4ba223 100644
+--- a/libitm/eh_cpp.cc
++++ b/libitm/eh_cpp.cc
+@@ -77,7 +77,11 @@ using namespace GTM;
/* Everything from libstdc++ is weak, to avoid requiring that library
to be linked into plain C applications using libitm.so. */
@@ -118,26 +135,41 @@
extern "C" {
-@@ -39,13 +43,12 @@
- extern void __cxa_end_catch (void) WEAK;
+@@ -95,14 +99,13 @@ extern void __cxa_end_catch (void) WEAK;
extern void __cxa_tm_cleanup (void *, void *, unsigned int) WEAK;
+ extern __cxa_eh_globals *__cxa_get_globals (void) WEAK;
-#if !defined (HAVE_ELF_STYLE_WEAKREF)
+#if !defined (HAVE_ELF_STYLE_WEAKREF) && !defined(PIC)
void *__cxa_allocate_exception (size_t) { return NULL; }
+ void __cxa_free_exception (void *) { return; }
void __cxa_throw (void *, void *, void *) { return; }
void *__cxa_begin_catch (void *) { return NULL; }
void __cxa_end_catch (void) { return; }
void __cxa_tm_cleanup (void *, void *, unsigned int) { return; }
-void _Unwind_DeleteException (_Unwind_Exception *) { return; }
+ __cxa_eh_globals *__cxa_get_globals (void) { return NULL; }
#endif /* HAVE_ELF_STYLE_WEAKREF */
- }
---- a/libitm/libitm_i.h 2016-02-01 23:31:51.815292000 -0600
-+++ b/libitm/libitm_i.h 2016-02-01 23:52:40.115305900 -0600
-@@ -38,11 +38,6 @@
+@@ -176,9 +179,10 @@ _ITM_cxa_end_catch (void)
+ void
+ GTM::gtm_thread::init_cpp_exceptions ()
+ {
++ __cxa_eh_globals *(*__cxa_get_globals_ptr)() = &__cxa_get_globals;
+ // Only save and restore the number of uncaught exceptions if this is
+ // actually used in the program.
+- if (__cxa_get_globals != NULL && __cxa_get_globals () != 0)
++ if (__cxa_get_globals_ptr != NULL && __cxa_get_globals () != 0)
+ cxa_uncaught_count_ptr = &__cxa_get_globals ()->uncaughtExceptions;
+ else
+ cxa_uncaught_count_ptr = 0;
+diff --git a/libitm/libitm_i.h b/libitm/libitm_i.h
+index a8cff57..52d2069 100644
+--- a/libitm/libitm_i.h
++++ b/libitm/libitm_i.h
+@@ -37,11 +37,6 @@
+ #include <string.h>
#include <unwind.h>
- #include "local_type_traits"
#include "local_atomic"
-
-/* Don't require libgcc_s.so for exceptions. */
@@ -147,8 +179,10 @@
#include "common.h"
namespace GTM HIDDEN {
---- a/libitm/method-serial.cc 2015-01-05 06:33:28.000000000 -0600
-+++ b/libitm/method-serial.cc 2016-02-01 23:52:40.120306600 -0600
+diff --git a/libitm/method-serial.cc b/libitm/method-serial.cc
+index a151b66..3f47f58 100644
+--- a/libitm/method-serial.cc
++++ b/libitm/method-serial.cc
@@ -24,12 +24,14 @@
#include "libitm_i.h"
diff --git a/0025-enable-libcilkrts.patch b/0025-enable-libcilkrts.patch
index 5ae7c9d..8894d27 100644
--- a/0025-enable-libcilkrts.patch
+++ b/0025-enable-libcilkrts.patch
@@ -1,6 +1,8 @@
---- origsrc/gcc-5.3.0/config/target-posix 2014-11-13 08:03:17.000000000 -0600
-+++ src/gcc-5.3.0/config/target-posix 2016-02-02 01:03:56.491336700 -0600
-@@ -5,7 +5,7 @@
+diff --git a/config/target-posix b/config/target-posix
+index 2fba066..314d4c1 100644
+--- a/config/target-posix
++++ b/config/target-posix
+@@ -5,7 +5,7 @@ case "${target}" in
;;
*-*-solaris2* | *-*-hpux11*)
;;
@@ -9,9 +11,11 @@
;;
*)
UNSUPPORTED=1 ;;
---- origsrc/gcc-5.3.0/libcilkrts/Makefile.am 2014-08-12 06:06:44.000000000 -0500
-+++ src/gcc-5.3.0/libcilkrts/Makefile.am 2016-02-02 01:35:16.332546200 -0600
-@@ -107,7 +107,7 @@
+diff --git a/libcilkrts/Makefile.am b/libcilkrts/Makefile.am
+index 4f944dd..57256df 100644
+--- a/libcilkrts/Makefile.am
++++ b/libcilkrts/Makefile.am
+@@ -110,7 +110,7 @@ endif
# Hack for Cygwin
@@ -20,9 +24,11 @@
# C/C++ header files for Cilk.
# cilkincludedir = $(includedir)/cilk
---- origsrc/gcc-5.3.0/libcilkrts/Makefile.in 2014-08-12 06:06:44.000000000 -0500
-+++ src/gcc-5.3.0/libcilkrts/Makefile.in 2016-02-02 01:35:52.560646600 -0600
-@@ -312,6 +312,7 @@
+diff --git a/libcilkrts/Makefile.in b/libcilkrts/Makefile.in
+index a25d1c6..cee2ee5 100644
+--- a/libcilkrts/Makefile.in
++++ b/libcilkrts/Makefile.in
+@@ -340,6 +340,7 @@ link_cilkrts = @link_cilkrts@
localedir = @localedir@
localstatedir = @localstatedir@
lt_cv_dlopen_libs = @lt_cv_dlopen_libs@
@@ -30,7 +36,7 @@
mandir = @mandir@
mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
-@@ -396,7 +397,7 @@
+@@ -426,7 +427,7 @@ CILK_REVISION = 3902
# Hack for Cygwin
libcilkrts_la_LDFLAGS = -version-info 5:0:0 @lt_cv_dlopen_libs@ \
@@ -39,9 +45,11 @@
# C/C++ header files for Cilk.
# cilkincludedir = $(includedir)/cilk
---- origsrc/gcc-5.3.0/libcilkrts/aclocal.m4 2015-12-04 04:47:53.000000000 -0600
-+++ src/gcc-5.3.0/libcilkrts/aclocal.m4 2016-02-02 01:36:07.265013900 -0600
-@@ -970,6 +970,7 @@
+diff --git a/libcilkrts/aclocal.m4 b/libcilkrts/aclocal.m4
+index a468681..8a7ddf6 100644
+--- a/libcilkrts/aclocal.m4
++++ b/libcilkrts/aclocal.m4
+@@ -990,6 +990,7 @@ AC_SUBST([am__untar])
m4_include([../config/depstand.m4])
m4_include([../config/lead-dot.m4])
@@ -49,9 +57,11 @@
m4_include([../config/multi.m4])
m4_include([../config/override.m4])
m4_include([../libtool.m4])
---- origsrc/gcc-5.3.0/libcilkrts/configure 2015-01-26 16:54:31.000000000 -0600
-+++ src/gcc-5.3.0/libcilkrts/configure 2016-02-02 01:38:32.848000500 -0600
-@@ -610,6 +610,7 @@
+diff --git a/libcilkrts/configure b/libcilkrts/configure
+index 4e1d459..c8a7e3e 100644
+--- a/libcilkrts/configure
++++ b/libcilkrts/configure
+@@ -610,6 +610,7 @@ XCFLAGS
lt_cv_dlopen_libs
toolexeclibdir
toolexecdir
@@ -59,7 +69,7 @@
CXXCPP
OTOOL64
OTOOL
-@@ -9032,7 +9033,7 @@
+@@ -9036,7 +9037,7 @@ _LT_EOF
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
@@ -68,25 +78,7 @@
fi
aix_use_runtimelinking=no
-@@ -11060,7 +11061,7 @@
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 11063 "configure"
-+#line 11064 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -11166,7 +11167,7 @@
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 11169 "configure"
-+#line 11170 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -13518,7 +13519,7 @@
+@@ -13522,7 +13523,7 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
else
@@ -95,12 +87,10 @@
fi
;;
pw32*)
-@@ -14420,6 +14421,28 @@
+@@ -14426,6 +14427,28 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
-+
-+
+case $host in
+ *-cygwin* | *-mingw*)
+ # 'host' will be top-level target in the case of a target lib,
@@ -121,12 +111,16 @@
+
+
+
++
++
-
---- origsrc/gcc-5.3.0/libcilkrts/configure.ac 2015-01-26 16:54:31.000000000 -0600
-+++ src/gcc-5.3.0/libcilkrts/configure.ac 2016-02-02 01:36:52.100207200 -0600
-@@ -160,6 +160,7 @@
+ # Check to see if -pthread or -lpthread is needed. Prefer the former.
+diff --git a/libcilkrts/configure.ac b/libcilkrts/configure.ac
+index 8ad647e..af999a0 100644
+--- a/libcilkrts/configure.ac
++++ b/libcilkrts/configure.ac
+@@ -160,6 +160,7 @@ AM_CONDITIONAL(MAC_LINKER_SCRIPT, test "$mac_linker_script" = "yes")
AC_LIBTOOL_DLOPEN
AM_PROG_LIBTOOL
diff --git a/0029-gcc-specs.patch b/0029-gcc-specs.patch
new file mode 100644
index 0000000..b4dd973
--- /dev/null
+++ b/0029-gcc-specs.patch
@@ -0,0 +1,12 @@
+Mistakenly added in r227962 (6.1), reverted in r237276 (7.1).
+
+--- origsrc/gcc-6.4.0/gcc/config/i386/cygwin.h 2017-11-03 00:47:46.634665300 -0500
++++ src/gcc-6.4.0/gcc/config/i386/cygwin.h 2017-11-06 22:32:13.599397100 -0600
+@@ -39,7 +39,6 @@
+
+ #undef STARTFILE_SPEC
+ #define STARTFILE_SPEC "\
+- -L%R/usr/lib/w32api \
+ %{!shared: %{!mdll: crt0%O%s \
+ %{pg:gcrt0%O%s}}}\
+ %{shared:crtbeginS.o%s;:crtbegin.o%s} \
diff --git a/cygwin-gcc.spec b/cygwin-gcc.spec
index d3906f2..81783a3 100644
--- a/cygwin-gcc.spec
+++ b/cygwin-gcc.spec
@@ -1,17 +1,14 @@
-%global gcc_version 5.4.0
+%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
+
+%global gcc_version 6.4.0
# Note, gcc_release must be integer, if you want to add suffixes to
# %%{release}, append them after %%{gcc_release} on Release: line.
-%global gcc_release 2
+%global gcc_release 1
%global build_ada 0
-# building cross-gnat requires matching major version of native gnat
-%if 0%{?fedora} >= 22 && 0%{?fedora} < 24
-%ifarch %{ix86} x86_64 ia64 ppc ppc64 ppc64p7 alpha %{arm} aarch64
-%global build_ada 1
-%endif
-%endif
-
-%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
+%global build_cilk 0
+%global build_objc 0
+%global build_vtv 0
Name: cygwin-gcc
Version: %{gcc_version}
@@ -25,14 +22,14 @@ URL: http://gcc.gnu.org
BuildRequires: texinfo
BuildRequires: cygwin32-filesystem
BuildRequires: cygwin32-binutils
-BuildRequires: cygwin32 >= 2.4.1
BuildRequires: cygwin32-w32api-headers
BuildRequires: cygwin32-w32api-runtime
+BuildRequires: cygwin32 >= 2.4.1
BuildRequires: cygwin64-filesystem
BuildRequires: cygwin64-binutils
-BuildRequires: cygwin64 >= 2.4.1
BuildRequires: cygwin64-w32api-headers
BuildRequires: cygwin64-w32api-runtime
+BuildRequires: cygwin64 >= 2.4.1
BuildRequires: gmp-devel
BuildRequires: mpfr-devel
BuildRequires: libmpc-devel
@@ -49,16 +46,16 @@ BuildRequires: gettext
BuildRequires: gcc-gnat
%endif
-Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2
+Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.xz
# Cygwin patches
Patch1: 0001-share-mingw-fset-stack-executable-with-cygwin.patch
-Patch2: 0002-boehm-gc-for-cygwin.patch
-Patch3: 0003-AWT-Font-fix-for-Cygwin.patch
-Patch4: 0004-Cygwin-ioctl-may-emit-EINVAL.patch
-Patch5: 0005-use-avoid-version-if-not-tracking-SO-version.patch
-Patch6: 0006-cygwin-uses-cyg-library-prefix.patch
-Patch7: 0007-Avoid-installing-libffi.patch
+#Patch2: 0002-boehm-gc-for-cygwin.patch
+#Patch3: 0003-AWT-Font-fix-for-Cygwin.patch
+#Patch4: 0004-Cygwin-ioctl-may-emit-EINVAL.patch
+#Patch5: 0005-use-avoid-version-if-not-tracking-SO-version.patch
+#Patch6: 0006-cygwin-uses-cyg-library-prefix.patch
+#Patch7: 0007-Avoid-installing-libffi.patch
#Patch8: 0008-libitm-libtool-fixes-for-Cygwin.patch
Patch9: 0009-Cygwin-uses-sysv-ABI-on-x86_64.patch
Patch10: 0010-Do-not-version-lto-plugin-on-cygwin-mingw.patch
@@ -72,14 +69,14 @@ Patch17: 0017-__cxa-atexit-for-Cygwin.patch
Patch18: 0018-prevent-modules-from-being-unloaded-before-their-dto.patch
Patch19: 0019-Cygwin-doesn-t-do-text-mode-translations-for-file-ha.patch
Patch20: 0020-cygwin-uses-cyg-lib-prefix.patch
-Patch21: 0021-search-usr-lib-w32api-explicitly.patch
Patch22: 0022-libgomp-soname-cygwin-mingw.patch
-Patch23: 0023-glibcxx-use-c99.patch
+#Patch23: 0023-glibcxx-use-c99.patch
Patch24: 0024-libitm-weak-symbols.patch
Patch25: 0025-enable-libcilkrts.patch
#Patch26: 0026-g++-gnu-source.patch
Patch27: 0027-libtool-w32api.patch
Patch28: 0028-g++-time.patch
+Patch29: 0029-gcc-specs.patch
# Fedora-specific patches
Patch1000: 1000-cross-exe-suffix.patch
@@ -102,33 +99,32 @@ Group: Development/Languages
# NB: Explicit cygwin32-filesystem dependency is REQUIRED here.
Requires: cygwin32-filesystem
Requires: cygwin32-binutils
-Requires: cygwin32 >= 2.4.1
Requires: cygwin32-default-manifest
Requires: cygwin32-w32api-runtime
+Requires: cygwin32 >= 2.4.1
Requires: cygwin32-cpp = %{version}-%{release}
# We don't run the automatic dependency scripts which would
# normally detect and provide the following DLL:
Provides: cygwin32(cygatomic-1.dll)
+%if %{build_cilk}
Provides: cygwin32(cygcilkrts-5.dll)
+%endif
Provides: cygwin32(cyggcc_s-1.dll)
Provides: cygwin32(cyggomp-1.dll)
Provides: cygwin32(cygquadmath-0.dll)
Provides: cygwin32(cygssp-0.dll)
Provides: cygwin32(cygvtv-0.dll)
Provides: cygwin32(cygvtv_stubs-0.dll)
-# for backwards compatibility (libquadmath is new to 4.7)
-Provides: cygwin(cyggcc_s-1.dll)
-Provides: cygwin(cyggomp-1.dll)
-Provides: cygwin(cygssp-0.dll)
-Provides: %{name} = %{version}-%{release}
-Obsoletes: %{name} < 4.7
# prevent update errors
Obsoletes: %{name}-java < %{version}-%{release}
Obsoletes: cygwin32-gcc-java < %{version}-%{release}
%if ! %{build_ada}
-Obsoletes: %{name}-gnat < 4.7
Obsoletes: cygwin32-gcc-gnat < %{version}-%{release}
%endif
+%if ! %{build_objc}
+Obsoletes: cygwin32-gcc-objc < %{version}-%{release}
+Obsoletes: cygwin32-gcc-objc++ < %{version}-%{release}
+%endif
%description -n cygwin32-gcc
@@ -139,8 +135,6 @@ Cygwin i686 cross-compiler (GCC) for C.
Summary: Cygwin cross-C Preprocessor
Group: Development/Languages
Requires: %{name}-common = %{version}-%{release}
-Provides: cygwin-cpp = %{version}-%{release}
-Obsoletes: cygwin-cpp < 4.7
%description -n cygwin32-cpp
Cygwin cross-C Preprocessor
@@ -153,10 +147,6 @@ Requires: cygwin32-gcc = %{version}-%{release}
# We don't run the automatic dependency scripts which would
# normally detect and provide the following DLL:
Provides: cygwin32(cygstdc++-6.dll)
-# for backwards compatibility
-Provides: cygwin(cygstdc++-6.dll)
-Provides: %{name}-c++ = %{version}-%{release}
-Obsoletes: %{name}-c++ < 4.7
%description -n cygwin32-gcc-c++
Cygwin cross-compiler for C++.
@@ -169,9 +159,6 @@ Requires: cygwin32-gcc = %{version}-%{release}
# We don't run the automatic dependency scripts which would
# normally detect and provide the following DLL:
Provides: cygwin32(cygobjc-4.dll)
-# for backwards compatibility (libobjc ABI version changed in 4.7)
-Provides: %{name}-objc = %{version}-%{release}
-Obsoletes: %{name}-objc < 4.7
%description -n cygwin32-gcc-objc
Cygwin cross-compiler support for Objective C.
@@ -182,8 +169,6 @@ Summary: Cygwin cross-compiler support for Objective C++
Group: Development/Languages
Requires: cygwin32-gcc-c++ = %{version}-%{release}
Requires: cygwin32-gcc-objc = %{version}-%{release}
-Provides: %{name}-objc++ = %{version}-%{release}
-Obsoletes: %{name}-objc++ < 4.7
%description -n cygwin32-gcc-objc++
Cygwin cross-compiler support for Objective C++.
@@ -196,10 +181,6 @@ Requires: cygwin32-gcc = %{version}-%{release}
# We don't run the automatic dependency scripts which would
# normally detect and provide the following DLL:
Provides: cygwin32(cyggfortran-3.dll)
-# for backwards compatibilty
-Provides: cygwin(cyggfortran-3.dll)
-Provides: %{name}-gfortran = %{version}-%{release}
-Obsoletes: %{name}-gfortran < 4.7
%description -n cygwin32-gcc-gfortran
Cygwin cross-compiler for FORTRAN.
@@ -212,11 +193,8 @@ Requires: cygwin32-gcc = %{version}-%{release}
# We don't run the automatic dependency scripts which would
# normally detect and provide the following DLL:
# (shared libgnat doesn't work quite right, nor does it cross-build
-#Provides: cygwin32(cyggnat-5.dll)
-#Provides: cygwin32(cyggnarl-5.dll)
-# for backwards compatibility
-Provides: %{name}-gnat = %{version}-%{release}
-Obsoletes: %{name}-gnat < 4.7
+#Provides: cygwin32(cyggnat-6.dll)
+#Provides: cygwin32(cyggnarl-6.dll)
%description -n cygwin32-gcc-gnat
Cygwin cross-compiler for Ada.
@@ -227,14 +205,16 @@ Group: Development/Languages
# NB: Explicit cygwin-filesystem dependency is REQUIRED here.
Requires: cygwin64-filesystem
Requires: cygwin64-binutils
-Requires: cygwin64 >= 2.4.1
Requires: cygwin64-default-manifest
Requires: cygwin64-w32api-runtime
+Requires: cygwin64 >= 2.4.1
Requires: cygwin64-cpp = %{version}-%{release}
# We don't run the automatic dependency scripts which would
# normally detect and provide the following DLLs:
Provides: cygwin64(cygatomic-1.dll)
+%if %{build_cilk}
Provides: cygwin64(cygcilkrts-5.dll)
+%endif
Provides: cygwin64(cyggcc_s-seh-1.dll)
Provides: cygwin64(cyggomp-1.dll)
Provides: cygwin64(cygquadmath-0.dll)
@@ -245,6 +225,10 @@ Provides: cygwin64(cygvtv_stubs-0.dll)
%if ! %{build_ada}
Obsoletes: cygwin64-gcc-gnat < %{version}-%{release}
%endif
+%if ! %{build_objc}
+Obsoletes: cygwin64-gcc-objc < %{version}-%{release}
+Obsoletes: cygwin64-gcc-objc++ < %{version}-%{release}
+%endif
%description -n cygwin64-gcc
@@ -312,8 +296,8 @@ Requires: cygwin64-gcc = %{version}-%{release}
# We don't run the automatic dependency scripts which would
# normally detect and provide the following DLL:
# (shared libgnat doesn't work quite right, nor does it cross-build
-#Provides: cygwin64(cyggnat-5.dll)
-#Provides: cygwin64(cyggnarl-5.dll)
+#Provides: cygwin64(cyggnat-6.dll)
+#Provides: cygwin64(cyggnarl-6.dll)
%description -n cygwin64-gcc-gnat
Cygwin x86_64 cross-compiler for Ada.
@@ -322,12 +306,12 @@ Cygwin x86_64 cross-compiler for Ada.
%prep
%setup -q -n gcc-%{gcc_version}
%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
+#patch2 -p1
+#patch3 -p1
+#patch4 -p1
+#patch5 -p1
+#patch6 -p1
+#patch7 -p1
#patch8 -p1
%patch9 -p1
%patch10 -p1
@@ -341,14 +325,16 @@ Cygwin x86_64 cross-compiler for Ada.
%patch18 -p1
%patch19 -p1
%patch20 -p1
-%patch21 -p1
%patch22 -p1
-%patch23 -p2
+#patch23 -p2
%patch24 -p1
+%if %{build_cilk}
%patch25 -p2
+%endif
#patch26 -p2
%patch27 -p2
%patch28 -p2
+%patch29 -p2
%patch1000 -p1
%patch1001 -p1
@@ -362,12 +348,15 @@ echo 'Fedora Cygwin %{gcc_version}-%{gcc_release}' > gcc/DEV-PHASE
# realpath(..., NULL) via _XOPEN_VERSION
export glibcxx_cv_realpath=yes
-mkdir -p build_cyg32
-pushd build_cyg32
+mkdir -p build_32bit
+pushd build_32bit
%if %{build_ada}
enablelada=,ada
%endif
+%if %{build_objc}
+enablelobjc=,objc,obj-c++
+%endif
CC="%{__cc} ${RPM_OPT_FLAGS}" \
../configure \
@@ -392,32 +381,31 @@ CC="%{__cc} ${RPM_OPT_FLAGS}" \
%if 0%{?fedora}
--enable-graphite \
%endif
- --enable-languages="c,c++,objc,obj-c++,fortran${enablelada},lto" \
+ --enable-languages="c,c++,fortran,lto${enablelada}${enablelobjc}" \
--disable-libcc1 \
- --enable-lto --disable-symvers \
+ --enable-lto \
+ --disable-symvers \
--enable-libatomic \
+%if %{build_cilk}
--enable-libcilkrts \
+%endif
--enable-libgomp \
--enable-libitm \
--enable-libssp \
--enable-libquadmath --enable-libquadmath-support \
+%if %{build_vtv}
+ --enable-vtable-verify \
+%endif
--with-default-libstdcxx-abi=gcc4-compatible \
--with-python-dir=/share/gcc-%{gcc_version}/%{cygwin32_target}/python \
%if %{build_ada}
--enable-libada \
%endif
--with-bugurl=http://cygwinports.org
-
-make %{?_smp_mflags} all
-
popd
-mkdir -p build_cyg64
-pushd build_cyg64
-
-%if %{build_ada}
-enablelada=,ada
-%endif
+mkdir -p build_64bit
+pushd build_64bit
CC="%{__cc} ${RPM_OPT_FLAGS}" \
../configure \
@@ -442,15 +430,21 @@ CC="%{__cc} ${RPM_OPT_FLAGS}" \
%if 0%{?fedora}
--enable-graphite \
%endif
- --enable-languages="c,c++,objc,obj-c++,fortran${enablelada},lto" \
+ --enable-languages="c,c++,fortran,lto${enablelada}${enablelobjc}" \
--disable-libcc1 \
- --enable-lto --disable-symvers \
+ --enable-lto \
+ --disable-symvers \
--enable-libatomic \
+%if %{build_cilk}
--enable-libcilkrts \
+%endif
--enable-libgomp \
--enable-libitm \
--enable-libssp \
--enable-libquadmath --enable-libquadmath-support \
+%if %{build_vtv}
+ --enable-vtable-verify \
+%endif
--with-default-libstdcxx-abi=gcc4-compatible \
--with-python-dir=/share/gcc-%{gcc_version}/%{cygwin64_target}/python \
%if %{build_ada}
@@ -458,18 +452,13 @@ CC="%{__cc} ${RPM_OPT_FLAGS}" \
%endif
--with-bugurl=http://cygwinports.org
-make %{?_smp_mflags} all
-
popd
+%cygwin_make %{?_smp_mflags} all
+
%install
-pushd build_cyg32
-make DESTDIR=$RPM_BUILD_ROOT install
-popd
-pushd build_cyg64
-make DESTDIR=$RPM_BUILD_ROOT install
-popd
+%cygwin_make_install DESTDIR=$RPM_BUILD_ROOT
# These files conflict with existing installed files.
rm -rf $RPM_BUILD_ROOT%{_infodir}
@@ -533,7 +522,12 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_bindir}/%{cygwin32_target}-gcc-nm
%{_bindir}/%{cygwin32_target}-gcc-ranlib
%{_bindir}/%{cygwin32_target}-gcov
+%{_bindir}/%{cygwin32_target}-gcov-dump
%{_bindir}/%{cygwin32_target}-gcov-tool
+%{_mandir}/man1/%{cygwin32_target}-gcc.1*
+%{_mandir}/man1/%{cygwin32_target}-gcov.1*
+%{_mandir}/man1/%{cygwin32_target}-gcov-dump.1*
+%{_mandir}/man1/%{cygwin32_target}-gcov-tool.1*
%dir %{_prefix}/lib/gcc/%{cygwin32_target}
%dir %{_prefix}/lib/gcc/%{cygwin32_target}/%{version}
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/crtbegin.o
@@ -542,9 +536,11 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/crtfastmath.o
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libatomic.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libatomic.dll.a
+%if %{build_cilk}
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libcilkrts.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libcilkrts.dll.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libcilkrts.spec
+%endif
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libgcc.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libgcc_eh.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libgcc_s.dll.a
@@ -559,21 +555,21 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libssp.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libssp_nonshared.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libssp.dll.a
+%if %{build_vtv}
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libvtv.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libvtv.dll.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libvtv_stubs.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libvtv_stubs.dll.a
+%endif
%dir %{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include
-%dir %{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/cilk
-%dir %{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/ssp
-%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/[^j]*.h
-%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/cilk/*.h
-%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/ssp/*.h
-%dir %{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/install-tools
-%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/install-tools/*
+%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/*.h
+%if %{build_cilk}
+%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/cilk/
+%endif
+%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/ssp/
+%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/install-tools/
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/plugin/
-%dir %{_libexecdir}/gcc/%{cygwin32_target}/%{version}/install-tools
-%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/install-tools/*
+%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/install-tools/
%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/liblto_plugin.so
%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/lto1
%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/lto-wrapper
@@ -581,16 +577,17 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%dir %{_datadir}/gcc-%{gcc_version}
%dir %{_datadir}/gcc-%{gcc_version}/%{cygwin32_target}
%{cygwin32_bindir}/cygatomic-1.dll
+%if %{build_cilk}
%{cygwin32_bindir}/cygcilkrts-5.dll
+%endif
%{cygwin32_bindir}/cyggcc_s-1.dll
%{cygwin32_bindir}/cyggomp-1.dll
-%{cygwin32_bindir}/cyggomp-plugin-host_nonshm-1.dll
%{cygwin32_bindir}/cygquadmath-0.dll
%{cygwin32_bindir}/cygssp-0.dll
+%if %{build_vtv}
%{cygwin32_bindir}/cygvtv-0.dll
%{cygwin32_bindir}/cygvtv_stubs-0.dll
-%{_mandir}/man1/%{cygwin32_target}-gcc.1*
-%{_mandir}/man1/%{cygwin32_target}-gcov.1*
+%endif
%files -n cygwin32-cpp
@@ -606,46 +603,44 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_bindir}/%{cygwin32_target}-g++
%{_bindir}/%{cygwin32_target}-c++
%{_mandir}/man1/%{cygwin32_target}-g++.1*
-%dir %{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/c++
-%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/c++/[^gjos]*
-%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/c++/os*
-%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/c++/s[^u]*
+%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1plus
+%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/collect2
+%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/c++/
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libstdc++.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libstdc++.dll.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libstdc++.dll.a-gdb.py
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libsupc++.a
-%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1plus
-%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/collect2
%dir %{_datadir}/gcc-%{gcc_version}/%{cygwin32_target}/python
%{_datadir}/gcc-%{gcc_version}/%{cygwin32_target}/python/libstdcxx/
%{cygwin32_bindir}/cygstdc++-6.dll
+%if %{build_objc}
%files -n cygwin32-gcc-objc
+%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1obj
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/include/objc/
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libobjc.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libobjc.dll.a
-%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1obj
%{cygwin32_bindir}/cygobjc-4.dll
%files -n cygwin32-gcc-objc++
%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1objplus
+%endif
%files -n cygwin32-gcc-gfortran
%{_bindir}/%{cygwin32_target}-gfortran
%{_mandir}/man1/%{cygwin32_target}-gfortran.1*
+%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/f951
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libcaf_single.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libgfortran.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libgfortran.dll.a
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libgfortran.spec
-%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/libgfortranbegin.a
%dir %{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/finclude
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/finclude/ieee_*
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/finclude/omp_lib*
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/finclude/openacc*
-%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/f951
%{cygwin32_bindir}/cyggfortran-3.dll
@@ -656,8 +651,8 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/adainclude/
%{_prefix}/lib/gcc/%{cygwin32_target}/%{version}/adalib/
%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/gnat1
-#%%{cygwin32_bindir}/cyggnarl-5.dll
-#%%{cygwin32_bindir}/cyggnat-5.dll
+#%%{cygwin32_bindir}/cyggnarl-6.dll
+#%%{cygwin32_bindir}/cyggnat-6.dll
%endif
%files -n cygwin64-gcc
@@ -667,7 +662,12 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_bindir}/%{cygwin64_target}-gcc-nm
%{_bindir}/%{cygwin64_target}-gcc-ranlib
%{_bindir}/%{cygwin64_target}-gcov
+%{_bindir}/%{cygwin64_target}-gcov-dump
%{_bindir}/%{cygwin64_target}-gcov-tool
+%{_mandir}/man1/%{cygwin64_target}-gcc.1*
+%{_mandir}/man1/%{cygwin64_target}-gcov.1*
+%{_mandir}/man1/%{cygwin64_target}-gcov-dump.1*
+%{_mandir}/man1/%{cygwin64_target}-gcov-tool.1*
%dir %{_prefix}/lib/gcc/%{cygwin64_target}
%dir %{_prefix}/lib/gcc/%{cygwin64_target}/%{version}
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/crtbegin.o
@@ -676,9 +676,11 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/crtfastmath.o
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libatomic.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libatomic.dll.a
+%if %{build_cilk}
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libcilkrts.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libcilkrts.dll.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libcilkrts.spec
+%endif
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libgcc.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libgcc_eh.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libgcc_s.dll.a
@@ -693,21 +695,21 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libssp.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libssp_nonshared.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libssp.dll.a
+%if %{build_vtv}
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libvtv.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libvtv.dll.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libvtv_stubs.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libvtv_stubs.dll.a
+%endif
%dir %{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include
-%dir %{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/cilk
-%dir %{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/ssp
-%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/[^j]*.h
-%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/cilk/*.h
-%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/ssp/*.h
-%dir %{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/install-tools
-%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/install-tools/*
+%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/*.h
+%if %{build_cilk}
+%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/cilk/
+%endif
+%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/ssp/
+%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/install-tools/
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/plugin/
-%dir %{_libexecdir}/gcc/%{cygwin64_target}/%{version}/install-tools
-%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/install-tools/*
+%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/install-tools/
%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/liblto_plugin.so
%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/lto1
%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/lto-wrapper
@@ -715,16 +717,17 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%dir %{_datadir}/gcc-%{gcc_version}
%dir %{_datadir}/gcc-%{gcc_version}/%{cygwin64_target}
%{cygwin64_bindir}/cygatomic-1.dll
+%if %{build_cilk}
%{cygwin64_bindir}/cygcilkrts-5.dll
+%endif
%{cygwin64_bindir}/cyggcc_s-seh-1.dll
%{cygwin64_bindir}/cyggomp-1.dll
-%{cygwin64_bindir}/cyggomp-plugin-host_nonshm-1.dll
%{cygwin64_bindir}/cygquadmath-0.dll
%{cygwin64_bindir}/cygssp-0.dll
+%if %{build_vtv}
%{cygwin64_bindir}/cygvtv-0.dll
%{cygwin64_bindir}/cygvtv_stubs-0.dll
-%{_mandir}/man1/%{cygwin64_target}-gcc.1*
-%{_mandir}/man1/%{cygwin64_target}-gcov.1*
+%endif
%files -n cygwin64-cpp
@@ -740,46 +743,44 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%{_bindir}/%{cygwin64_target}-g++
%{_bindir}/%{cygwin64_target}-c++
%{_mandir}/man1/%{cygwin64_target}-g++.1*
-%dir %{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/c++
-%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/c++/[^gjos]*
-%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/c++/os*
-%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/c++/s[^u]*
+%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/cc1plus
+%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/collect2
+%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/c++/
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libstdc++.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libstdc++.dll.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libstdc++.dll.a-gdb.py
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libsupc++.a
-%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/cc1plus
-%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/collect2
%dir %{_datadir}/gcc-%{gcc_version}/%{cygwin64_target}/python
%{_datadir}/gcc-%{gcc_version}/%{cygwin64_target}/python/libstdcxx/
%{cygwin64_bindir}/cygstdc++-6.dll
+%if %{build_objc}
%files -n cygwin64-gcc-objc
+%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/cc1obj
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/include/objc/
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libobjc.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libobjc.dll.a
-%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/cc1obj
%{cygwin64_bindir}/cygobjc-4.dll
%files -n cygwin64-gcc-objc++
%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/cc1objplus
+%endif
%files -n cygwin64-gcc-gfortran
%{_bindir}/%{cygwin64_target}-gfortran
%{_mandir}/man1/%{cygwin64_target}-gfortran.1*
+%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/f951
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libcaf_single.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libgfortran.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libgfortran.dll.a
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libgfortran.spec
-%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/libgfortranbegin.a
%dir %{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/finclude
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/finclude/ieee_*
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/finclude/omp_lib*
%{_prefix}/lib/gcc/%{cygwin64_target}/%{version}/finclude/openacc*
-%{_libexecdir}/gcc/%{cygwin64_target}/%{version}/f951
%{cygwin64_bindir}/cyggfortran-3.dll
@@ -796,6 +797,10 @@ cat cygwin-cpplib.lang >> cygwin-gcc.lang
%changelog
+* Thu Nov 16 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 6.4.0-1
+- new version
+- Disable cilk, libvtv.
+
* Thu Aug 25 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 5.4.0-2
- Disable _GNU_SOURCE patch to match native compilers
diff --git a/sources b/sources
index 579b220..703c7e6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-4c626ac2a83ef30dfb9260e6f59c2b30 gcc-5.4.0.tar.bz2
+11ba51a0cfb8471927f387c8895fe232 gcc-6.4.0.tar.xz