diff --git a/gcc/001-4.7-ada.patch b/gcc/001-4.7-ada.patch
index 06894d40..a656dee9 100644
--- a/gcc/001-4.7-ada.patch
+++ b/gcc/001-4.7-ada.patch
@@ -3277,177 +3277,3 @@ diff -Naur gcc-4.9.1-orig/gcc/ada/system-cygwin.ads gcc-4.9.1/gcc/ada/system-cyg
+ -- System.Task_Primitives.Operations.
+
+end System;
-diff -Naur gcc-4.9.1-orig/gcc-4.7.2/gcc/ada/a-intnam-cygwin.ads gcc-4.9.1/gcc-4.7.2/gcc/ada/a-intnam-cygwin.ads
---- gcc-4.9.1-orig/gcc-4.7.2/gcc/ada/a-intnam-cygwin.ads 1970-01-01 03:00:00.000000000 +0300
-+++ gcc-4.9.1/gcc-4.7.2/gcc/ada/a-intnam-cygwin.ads 2014-10-29 15:53:39.153000000 +0300
-@@ -0,0 +1,170 @@
-+------------------------------------------------------------------------------
-+-- --
-+-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS --
-+-- --
-+-- A D A . I N T E R R U P T S . N A M E S --
-+-- --
-+-- S p e c --
-+-- --
-+-- Copyright (C) 1991-2011, Free Software Foundation, Inc. --
-+-- --
-+-- GNARL is free software; you can redistribute it and/or modify it under --
-+-- terms of the GNU General Public License as published by the Free Soft- --
-+-- ware Foundation; either version 3, or (at your option) any later ver- --
-+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
-+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
-+-- or FITNESS FOR A PARTICULAR PURPOSE. --
-+-- --
-+-- As a special exception under Section 7 of GPL version 3, you are granted --
-+-- additional permissions described in the GCC Runtime Library Exception, --
-+-- version 3.1, as published by the Free Software Foundation. --
-+-- --
-+-- You should have received a copy of the GNU General Public License and --
-+-- a copy of the GCC Runtime Library Exception along with this program; --
-+-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-+-- . --
-+-- --
-+-- GNARL was developed by the GNARL team at Florida State University. --
-+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-+-- --
-+------------------------------------------------------------------------------
-+
-+-- This is a Cygwin version of this package but really it's a copy of the
-+-- Linux version, so the below comments are probably irrelevant:
-+
-+-- The following signals are reserved by the run time (FSU threads):
-+
-+-- SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
-+-- SIGALRM, SIGVTALRM, SIGUNUSED, SIGSTOP, SIGKILL
-+
-+-- The following signals are reserved by the run time (LinuxThreads):
-+
-+-- SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
-+-- SIGUSR1, SIGUSR2, SIGVTALRM, SIGUNUSED, SIGSTOP, SIGKILL
-+
-+-- The pragma Unreserve_All_Interrupts affects the following signal(s):
-+
-+-- SIGINT: made available for Ada handler
-+
-+-- This target-dependent package spec contains names of interrupts
-+-- supported by the local system.
-+
-+with System.OS_Interface;
-+-- used for names of interrupts
-+
-+package Ada.Interrupts.Names is
-+
-+ -- All identifiers in this unit are implementation defined
-+
-+ pragma Implementation_Defined;
-+
-+ -- Beware that the mapping of names to signals may be many-to-one. There
-+ -- may be aliases. Also, for all signal names that are not supported on the
-+ -- current system the value of the corresponding constant will be zero.
-+
-+ SIGHUP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGHUP; -- hangup
-+
-+ SIGINT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGINT; -- interrupt (rubout)
-+
-+ SIGQUIT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGQUIT; -- quit (ASCD FS)
-+
-+ SIGILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGILL; -- illegal instruction (not reset)
-+
-+ SIGTRAP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTRAP; -- trace trap (not reset)
-+
-+ SIGIOT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGIOT; -- IOT instruction
-+
-+ SIGABRT : constant Interrupt_ID := -- used by abort,
-+ System.OS_Interface.SIGABRT; -- replace SIGIOT in the future
-+
-+ SIGFPE : constant Interrupt_ID :=
-+ System.OS_Interface.SIGFPE; -- floating point exception
-+
-+ SIGKILL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGKILL; -- kill (cannot be caught or ignored)
-+
-+ SIGBUS : constant Interrupt_ID :=
-+ System.OS_Interface.SIGBUS; -- bus error
-+
-+ SIGSEGV : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSEGV; -- segmentation violation
-+
-+ SIGPIPE : constant Interrupt_ID := -- write on a pipe with
-+ System.OS_Interface.SIGPIPE; -- no one to read it
-+
-+ SIGALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGALRM; -- alarm clock
-+
-+ SIGTERM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTERM; -- software termination signal from kill
-+
-+ SIGUSR1 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR1; -- user defined signal 1
-+
-+ SIGUSR2 : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUSR2; -- user defined signal 2
-+
-+ SIGCLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCLD; -- child status change
-+
-+ SIGCHLD : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCHLD; -- 4.3BSD's/POSIX name for SIGCLD
-+
-+ SIGWINCH : constant Interrupt_ID :=
-+ System.OS_Interface.SIGWINCH; -- window size change
-+
-+ SIGURG : constant Interrupt_ID :=
-+ System.OS_Interface.SIGURG; -- urgent condition on IO channel
-+
-+ SIGPOLL : constant Interrupt_ID :=
-+ System.OS_Interface.SIGPOLL; -- pollable event occurred
-+
-+ SIGIO : constant Interrupt_ID := -- input/output possible,
-+ System.OS_Interface.SIGIO; -- SIGPOLL alias (Solaris)
-+
-+ SIGSTOP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSTOP; -- stop (cannot be caught or ignored)
-+
-+ SIGTSTP : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTSTP; -- user stop requested from tty
-+
-+ SIGCONT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGCONT; -- stopped process has been continued
-+
-+ SIGTTIN : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTIN; -- background tty read attempted
-+
-+ SIGTTOU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGTTOU; -- background tty write attempted
-+
-+ SIGVTALRM : constant Interrupt_ID :=
-+ System.OS_Interface.SIGVTALRM; -- virtual timer expired
-+
-+ SIGPROF : constant Interrupt_ID :=
-+ System.OS_Interface.SIGPROF; -- profiling timer expired
-+
-+ SIGXCPU : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXCPU; -- CPU time limit exceeded
-+
-+ SIGXFSZ : constant Interrupt_ID :=
-+ System.OS_Interface.SIGXFSZ; -- filesize limit exceeded
-+
-+ SIGUNUSED : constant Interrupt_ID :=
-+ System.OS_Interface.SIGUNUSED; -- unused signal
-+
-+ SIGSTKFLT : constant Interrupt_ID :=
-+ System.OS_Interface.SIGSTKFLT; -- stack fault on coprocessor
-+
-+ SIGLOST : constant Interrupt_ID :=
-+ System.OS_Interface.SIGLOST; -- Linux alias for SIGIO
-+
-+ SIGPWR : constant Interrupt_ID :=
-+ System.OS_Interface.SIGPWR; -- Power failure
-+
-+end Ada.Interrupts.Names;
diff --git a/gcc/046-4.8-__cxa_atexit.patch b/gcc/046-4.8-__cxa_atexit.patch
index a172fb49..0fdefeb7 100644
--- a/gcc/046-4.8-__cxa_atexit.patch
+++ b/gcc/046-4.8-__cxa_atexit.patch
@@ -111,3 +111,12 @@ diff -Naur gcc-4.9.1-orig/libgcc/config.host gcc-4.9.1/libgcc/config.host
# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
if test x$enable_sjlj_exceptions = xyes; then
tmake_eh_file="i386/t-sjlj-eh"
+@@ -629,7 +629,7 @@
+ tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm i386/t-chkstk t-dfprules"
+ ;;
+ x86_64-*-cygwin*)
+- extra_parts="crtbegin.o crtend.o crtfastmath.o"
++ extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
+ # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
+ if test x$enable_sjlj_exceptions = xyes; then
+ tmake_eh_file="i386/t-sjlj-eh"
diff --git a/gcc/065-4.9.1-PR-c-61214.patch b/gcc/065-4.9.1-PR-c-61214.patch
deleted file mode 100644
index f76bb889..00000000
--- a/gcc/065-4.9.1-PR-c-61214.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur gcc-4.9.1-orig/gcc/gimple-fold.c gcc-4.9.1/gcc/gimple-fold.c
---- gcc-4.9.1-orig/gcc/gimple-fold.c 2014-03-26 12:17:10.000000000 +0300
-+++ gcc-4.9.1/gcc/gimple-fold.c 2014-10-29 16:01:44.235000000 +0300
-@@ -146,7 +146,8 @@
- The second is important when devirtualization happens during final
- compilation stage when making a new reference no longer makes callee
- to be compiled. */
-- if (!node || !node->definition || node->global.inlined_to)
-+ if (!node || !node->definition
-+ || DECL_EXTERNAL (decl) || node->global.inlined_to)
- {
- gcc_checking_assert (!TREE_ASM_WRITTEN (decl));
- return false;
diff --git a/gcc/PKGBUILD b/gcc/PKGBUILD
index 19965a57..4de6dd3a 100644
--- a/gcc/PKGBUILD
+++ b/gcc/PKGBUILD
@@ -1,21 +1,24 @@
# Maintainer: Alexey Pavlov
# Contributor: Martell Malone
+# Contributor: Ray Donnelly
# toolchain build order: win32-api-headers->msys2-runtime->binutils->gcc->binutils->msys2-runtime
# NOTE: libtool requires rebuilt with each new gcc version
pkgname=('gcc' 'gcc-libs' 'gcc-fortran')
-pkgver=4.9.1
-pkgrel=4
+pkgver=4.9.2
+pkgrel=1
pkgdesc="The GNU Compiler Collection"
arch=('i686' 'x86_64')
groups=('msys2-devel')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org"
makedepends=('binutils>=2.23' 'mpc-devel' 'cloog-devel' 'gmp-devel'
- 'mpfr-devel' 'mpc-devel' 'isl-devel' 'zlib-devel' 'windows-default-manifest')
-
-options=('!emptydirs')
+ 'mpfr-devel' 'mpc-devel' 'isl-devel' 'zlib-devel'
+ 'windows-default-manifest')
+STRIP_OPTION="strip"
+#STRIP_OPTION="!strip"
+options=('!emptydirs' "$STRIP_OPTION")
source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
001-4.7-ada.patch
005-4.7-boehm-gc-cygwin.patch
@@ -35,13 +38,12 @@ source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
050-4.5-skiptest.patch
055-4.8-gcc-ada-DTR.patch
060-4.8-Wimplicit-decls.patch
- 065-4.9.1-PR-c-61214.patch
950-4.8.0-configure-msys2.patch
951-4.8.0-msys2-spec.patch
952-4.8.0-libgcc-msys2.patch
953-4.9.1-testsuite-msys2.patch)
-md5sums=('fddf71348546af523353bd43d34919c1'
- 'd7294132a1330ec4dab1830865a67155'
+md5sums=('4df8ee253b7f3863ad0b86359cd39c43'
+ '62c46773400b16f693d7b89f43c00433'
'170b28d7f480eec4b4721d503d96eab0'
'b3700e51b0365894ce5520e8f5bbeeb7'
'10ef60468b9718c59040db592b8419ed'
@@ -54,12 +56,11 @@ md5sums=('fddf71348546af523353bd43d34919c1'
'dc4ecfa1b1caa272c845d55360cdffe3'
'a42858255e308a6922d5e8d36f5b3c06'
'3506054ca98d8a21fd36605b0b863533'
- '99174cb7f737d8ef6e4e7dcf9b31e0de'
+ '07be14230e64a003d9095658df7e4c91'
'3ce9a2de6fae8be2ed1d477783f18056'
'c52b3fd6949751f4dc43f10d6f5ec751'
'5ac0fc6a780aee8583b89d7225a85f34'
'ee07cb9166090f95c0f810de0667ea3d'
- 'e57f353e8ca1d41a5a8ff3b9b69a5566'
'6c1e48e2723cf1df7f9c826722fda193'
'd27c17a4c6b9caadc281a4f8e204b2eb'
'7df48a22637ae227ed91fec7d43667fd'
@@ -68,6 +69,15 @@ md5sums=('fddf71348546af523353bd43d34919c1'
prepare() {
cd ${srcdir}/gcc-${pkgver}
+ # Remove files created by 001-4.7-ada.patch
+ rm -f gcc/ada/a-intnam-cygwin.ads gcc/ada/mlib-tgt-specific-cygwin.adb \
+ gcc/ada/s-gloloc-cygwin.adb gcc/ada/s-osinte-cygwin.ads \
+ gcc/ada/s-taprop-cygwin.adb gcc/ada/system-cygwin.ads \
+ gcc/ada/indepsw-cygwin.adb > /dev/null 2>&1 | true
+
+ # Remove file created by 045-4.8-specs-cygwin.patch
+ rm -f gcc/config/i386/cygwin.opt > /dev/null 2>&1 | true
+
# Do not run fixincludes
#sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
echo ${pkgver} > gcc/BASE-VER
@@ -101,9 +111,6 @@ prepare() {
patch -p1 -i ${srcdir}/060-4.8-Wimplicit-decls.patch
- # Upstream patches
- patch -p1 -i ${srcdir}/065-4.9.1-PR-c-61214.patch
-
#MSYS2 Patches
patch -p1 -i ${srcdir}/950-4.8.0-configure-msys2.patch
patch -p1 -i ${srcdir}/951-4.8.0-msys2-spec.patch
@@ -219,11 +226,15 @@ package_gcc()
{
pkgdesc="The GNU Compiler Collection - C and C++ frontends"
depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.23' 'mpc' 'cloog' 'msys2-runtime-devel' 'msys2-w32api-headers' 'msys2-w32api-runtime' 'windows-default-manifest')
- options=('staticlibs')
+ options=('staticlibs' "$STRIP_OPTION")
install=gcc.install
cd ${srcdir}/gcc-build
+ if check_option "strip" "n"; then
+ export STRIP=true
+ fi
+
make -j1 DESTDIR=${pkgdir} install
if [ "$CARCH" = "x86_64" ]
then
@@ -299,10 +310,15 @@ package_gcc-fortran()
{
pkgdesc="Fortran front-end for GCC"
depends=("gcc=$pkgver-$pkgrel")
- options=('staticlibs' '!emptydirs')
+ options=('staticlibs' '!emptydirs' "$STRIP_OPTION")
install=gcc-fortran.install
cd ${srcdir}/gcc-build
+
+ if check_option "strip" "n"; then
+ export STRIP=true
+ fi
+
make -j1 DESTDIR=$pkgdir install-target-libgfortran
make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
@@ -317,7 +333,7 @@ package_gcc-fortran()
rm ${pkgdir}/usr/lib/gcc/$CHOST/${pkgver}/{*.o,libgc*}
rm ${pkgdir}/usr/share/info/libquadmath.info
rm -r ${pkgdir}/usr/lib/gcc/$CHOST/${pkgver}/include
- #rm ${pkgdir}/usr/lib/gcc/$CHOST/${pkgver}libgfortran.a
+ # rm ${pkgdir}/usr/lib/gcc/$CHOST/${pkgver}/libgfortran.a
# Install Runtime Library Exception
install -Dm644 ${srcdir}/gcc-${pkgver}/COPYING.RUNTIME \