gcc: update to 4.9.2

This commit is contained in:
Alexpux
2014-10-30 15:59:32 +03:00
parent d34666b46a
commit 52dc3aba94
4 changed files with 41 additions and 203 deletions

View File

@@ -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 --
+-- <http://www.gnu.org/licenses/>. --
+-- --
+-- 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;

View File

@@ -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"

View File

@@ -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;

View File

@@ -1,21 +1,24 @@
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Martell Malone <martellmalone@gmail.com>
# Contributor: Ray Donnelly <mingw.android@gmail.com>
# 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 \