diff options
-rw-r--r-- | main/gcc/09_all_gcc-4.5-Wtrampolines.patch | 64 | ||||
-rw-r--r-- | main/gcc/APKBUILD | 28 | ||||
-rw-r--r-- | main/gcc/PR32219.patch | 79 | ||||
-rw-r--r-- | main/gcc/gcc-4.5-dynamic-linker.patch | 32 | ||||
-rw-r--r-- | main/gcc/gcc-powerpc-target-optspace.patch | 13 | ||||
-rw-r--r-- | main/gcc/gcc-spec-env.patch | 2 |
6 files changed, 40 insertions, 178 deletions
diff --git a/main/gcc/09_all_gcc-4.5-Wtrampolines.patch b/main/gcc/09_all_gcc-4.5-Wtrampolines.patch deleted file mode 100644 index 9c95c1e940..0000000000 --- a/main/gcc/09_all_gcc-4.5-Wtrampolines.patch +++ /dev/null @@ -1,64 +0,0 @@ -2010-07-15 Magnus Granberg <zorry@gentoo.org> - Kevin F. Quinn <kevquinn@gentoo.org> - - * builtins.c (expand_builtin_init_trampoline): If - -Wtrampolines make a warning. - * common.opt: Add -Wtrampolines. - * doc/invoke.texi: Add -Wtrampolines. - -2010-07-31 Magnus Granberg <zorry@gentoo.org> - - #328451 set -Wtrampolines as default - -http://gcc.gnu.org/viewcvs?view=revision&revision=162205 - ---- a/gcc/builtins.c -+++ b/gcc/builtins.c -@@ -5155,6 +5155,10 @@ expand_builtin_init_trampoline (tree exp) - targetm.calls.trampoline_init (m_tramp, t_func, r_chain); - - trampolines_created = 1; -+ -+ warning_at (DECL_SOURCE_LOCATION (t_func), OPT_Wtrampolines, -+ "trampoline generated for nested function %qD", t_func); -+ - return const0_rtx; - } - ---- a/gcc/common.opt -+++ b/gcc/common.opt -@@ -192,6 +192,10 @@ Wsystem-headers - Common Var(warn_system_headers) Warning - Do not suppress warnings from system headers - -+Wtrampolines -+Common Var(warn_trampolines) Init(1) Warning -+Warn whenever a trampoline is generated -+ - Wtype-limits - Common Var(warn_type_limits) Init(-1) Warning - Warn if a comparison is always true or always false due to the limited range of the data type ---- a/gcc/doc/invoke.texi -+++ b/gcc/doc/invoke.texi -@@ -3611,6 +3611,21 @@ code. However, note that using @option{-Wall} in conjunction with this - option will @emph{not} warn about unknown pragmas in system - headers---for that, @option{-Wunknown-pragmas} must also be used. - -+@item -Wtrampolines -+@opindex Wtrampolines -+@opindex Wno-trampolines -+ Warn about trampolines generated for pointers to nested functions. -+ -+ NOTE: In Gentoo, @option{-Wtrampolines} is set by default. -+ To disable, specify @option{-Wno-trampolines} -+ -+ A trampoline is a small piece of data or code that is created at run -+ time on the stack when the address of a nested function is taken, and -+ is used to call the nested function indirectly. For some targets, it -+ is made up of data only and thus requires no special treatment. But, -+ for most targets, it is made up of code and thus requires the stack -+ to be made executable in order for the program to work properly. -+ - @item -Wfloat-equal - @opindex Wfloat-equal - @opindex Wno-float-equal diff --git a/main/gcc/APKBUILD b/main/gcc/APKBUILD index 46072d6af7..ae755b9735 100644 --- a/main/gcc/APKBUILD +++ b/main/gcc/APKBUILD @@ -1,13 +1,13 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=gcc -pkgver=4.5.2 +pkgver=4.6.0 _piepatchver=0.4.5 _specs_ver=0.2.0 _specs_gcc_ver=4.4.3 _uclibc_abiver=0.9.32 -pkgrel=6 +pkgrel=0 pkgdesc="The GNU Compiler Collection" url="http://gcc.gnu.org" arch="all" @@ -27,11 +27,10 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-core-$pkgver.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-g++-$pkgver.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-objc-$pkgver.tar.bz2 ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-java-$pkgver.tar.bz2 - http://distfiles.gentoo.org/distfiles/gcc-4.5.1-piepatches-v${_piepatchver}.tar.bz2 + http://dev.alpinelinux.org/~nenolod/gcc-4.6.0-piepatches-v${_piepatchver}-unofficial.tar.bz2 http://distfiles.gentoo.org/distfiles/gcc-$_specs_gcc_ver-specs-$_specs_ver.tar.bz2 ftp://sourceware.org/pub/java/ecj-latest.jar - 09_all_gcc-4.5-Wtrampolines.patch 15_all_gcc-libgomp-no-werror.patch 51_all_gcc-3.4-libiberty-pic.patch @@ -42,7 +41,6 @@ source="ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-core-$pkgver.tar.bz2 PR32219.patch boehem-gc-uclibc.patch gcc-pure64.patch - gcc-powerpc-target-optspace.patch " # we build out-of-tree @@ -296,21 +294,19 @@ libgcj() { mv "$pkgdir"/usr/share/java "$subpkgdir"/usr/share/ } -md5sums="aa9e36bec080452372bfba793428ee82 gcc-core-4.5.2.tar.bz2 -9821f1c61e43755866861485ff364e90 gcc-g++-4.5.2.tar.bz2 -3561c6585e9062105cc3591a8c39d7dc gcc-objc-4.5.2.tar.bz2 -fe2b647bace18dc7867a4192def46e2c gcc-java-4.5.2.tar.bz2 -1f86fe5dc7d506b7fc04fcd8b7d2693c gcc-4.5.1-piepatches-v0.4.5.tar.bz2 +md5sums="b1957f3209080b2f55bc3756d3a62b7c gcc-core-4.6.0.tar.bz2 +a30090fa655d0db4c970740d353c81f1 gcc-g++-4.6.0.tar.bz2 +120d4675366ee82ea52f9ed65b57da04 gcc-objc-4.6.0.tar.bz2 +bef3ebe5a76f4e2cc11cfa325d406803 gcc-java-4.6.0.tar.bz2 +f0d20d63b28e2e1a427362a88bd08a3c gcc-4.6.0-piepatches-v0.4.5-unofficial.tar.bz2 441c76504e1d97170117c294e65c7a72 gcc-4.4.3-specs-0.2.0.tar.bz2 d7cd6a27c8801e66cbaa964a039ecfdb ecj-latest.jar -ab090760506eb70aa4436a349c6bd788 09_all_gcc-4.5-Wtrampolines.patch 1c00bd9d12891a3e2311b32b98deb6fa 15_all_gcc-libgomp-no-werror.patch 45951dd3bbc979c9e043c7203745cf31 51_all_gcc-3.4-libiberty-pic.patch -c4045bfa85d8be780affd465be9d8ca8 gcc-spec-env.patch +7eac80b9ac4801c6445a8d7bd3442d95 gcc-spec-env.patch 2db1e3482c5dd59dab70f701afa2ca80 pt_gnu_eh_frame.patch 6cc2385c5bbd6d0da6eaedd53c8bf547 uclibc-getipinfo.patch -7f35da0f88f4d9c3d3839498bbda0eb3 gcc-4.5-dynamic-linker.patch -6c866c7fb8d56deb8f6d652bee64e228 PR32219.patch +3be85df859fa1d5c875bbfcc2dee8288 gcc-4.5-dynamic-linker.patch +a14656158ad2eb74e5d80e495dbe6abf PR32219.patch 2c6cb49bb9bfd8b6e690222e66ccc901 boehem-gc-uclibc.patch -d1d3ad2b0c185b5548125a1b81bee154 gcc-pure64.patch -ee7285772e6818c3cc96f781d5d2e92e gcc-powerpc-target-optspace.patch" +d1d3ad2b0c185b5548125a1b81bee154 gcc-pure64.patch" diff --git a/main/gcc/PR32219.patch b/main/gcc/PR32219.patch index b926e941fc..d30a53b991 100644 --- a/main/gcc/PR32219.patch +++ b/main/gcc/PR32219.patch @@ -1,60 +1,5 @@ -From gcc-patches-return-258497-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org Tue Mar 16 13:32:55 2010 -Return-Path: <gcc-patches-return-258497-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org> -Delivered-To: listarch-gcc-patches at gcc dot gnu dot org -Received: (qmail 25550 invoked by alias); 16 Mar 2010 13:32:54 -0000 -Received: (qmail 25534 invoked by uid 22791); 16 Mar 2010 13:32:53 -0000 -X-SWARE-Spam-Status: No, hits=-1.1 required=5.0 tests=AWL,BAYES_00,SUBJ_ALL_CAPS -X-Spam-Check-By: sourceware.org -Received: from mail-bw0-f210.google.com (HELO mail-bw0-f210.google.com) (209.85.218.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 16 Mar 2010 13:32:48 +0000 -Received: by bwz2 with SMTP id 2so4002140bwz.30 for <multiple recipients>; Tue, 16 Mar 2010 06:32:45 -0700 (PDT) -Received: by 10.204.14.84 with SMTP id f20mr2900449bka.209.1268746365293; Tue, 16 Mar 2010 06:32:45 -0700 (PDT) -Received: from s42.loc (85-127-85-230.dynamic.xdsl-line.inode.at [85.127.85.230]) by mx.google.com with ESMTPS id 14sm3626793bwz.14.2010.03.16.06.32.43 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 16 Mar 2010 06:32:44 -0700 (PDT) -Received: from cow by s42.loc with local (Exim 4.71) (envelope-from <rep.dot.nop@gmail.com>) id 1NrX2W-0008Nj-5o; Tue, 16 Mar 2010 14:42:32 +0100 -From: Bernhard Reutner-Fischer <rep dot dot dot nop at gmail dot com> -To: gcc-patches at gcc dot gnu dot org -Cc: rguenth at gcc dot gnu dot org, Bernhard Reutner-Fischer <rep dot dot dot nop at gmail dot com> -Subject: [PATCH] PR32219 -Date: Tue, 16 Mar 2010 14:42:27 +0100 -Message-Id: <1268746947-32108-1-git-send-email-rep.dot.nop@gmail.com> -Mailing-List: contact gcc-patches-help at gcc dot gnu dot org; run by ezmlm -Precedence: bulk -List-Id: <gcc-patches.gcc.gnu.org> -List-Archive: <http://gcc.gnu.org/ml/gcc-patches/> -List-Post: <mailto:gcc-patches at gcc dot gnu dot org> -List-Help: <mailto:gcc-patches-help at gcc dot gnu dot org> -Sender: gcc-patches-owner at gcc dot gnu dot org -Delivered-To: mailing list gcc-patches at gcc dot gnu dot org - -Hi, - -As suggested by richi. -regtested on i686-linux-gnu with all default languages and no regressions. -Ok for trunk? - -gcc/ChangeLog -2010-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> - - PR target/32219 - * varasm.c (default_binds_local_p_1): Weak data is not local. - -gcc/testsuite/ChangeLog -2010-03-15 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> - - PR target/32219 - * gcc.dg/visibility-21.c: New test. - -Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> ---- - gcc/testsuite/gcc.dg/visibility-21.c | 14 ++++++++++++++ - gcc/varasm.c | 8 ++++---- - 2 files changed, 18 insertions(+), 4 deletions(-) - create mode 100644 gcc/testsuite/gcc.dg/visibility-21.c - -diff --git a/gcc/testsuite/gcc.dg/visibility-21.c b/gcc/testsuite/gcc.dg/visibility-21.c -new file mode 100644 -index 0000000..be7deda --- /dev/null -+++ b/gcc/testsuite/gcc.dg/visibility-21.c ++++ gcc-4.6.0/gcc/testsuite/gcc.dg/visibility-21.c @@ -0,0 +1,14 @@ +/* PR target/32219 */ +/* { dg-do run } */ @@ -70,11 +15,9 @@ index 0000000..be7deda + return 0; +} + -diff --git a/gcc/varasm.c b/gcc/varasm.c -index 6b8222f..6b9269a 100644 ---- a/gcc/varasm.c -+++ b/gcc/varasm.c -@@ -6613,6 +6613,10 @@ default_binds_local_p_1 (const_tree exp, int shlib) +--- gcc-4.6.0.orig/gcc/varasm.c ++++ gcc-4.6.0/gcc/varasm.c +@@ -6754,6 +6754,10 @@ /* Static variables are always local. */ else if (! TREE_PUBLIC (exp)) local_p = true; @@ -84,18 +27,16 @@ index 6b8222f..6b9269a 100644 + local_p = false; /* A variable is local if the user has said explicitly that it will be. */ - else if (DECL_VISIBILITY_SPECIFIED (exp) -@@ -6625,10 +6629,6 @@ default_binds_local_p_1 (const_tree exp, int shlib) + else if ((DECL_VISIBILITY_SPECIFIED (exp) +@@ -6767,11 +6771,6 @@ local. */ else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT) local_p = true; - /* Default visibility weak data can be overridden by a strong symbol - in another module and so are not local. */ -- else if (DECL_WEAK (exp)) +- else if (DECL_WEAK (exp) +- && !resolved_locally) - local_p = false; /* If PIC, then assume that any global name can be overridden by - symbols resolved from other modules, unless we are compiling with - -fwhole-program, which assumes that names are local. */ --- -1.7.0 - + symbols resolved from other modules. */ + else if (shlib) diff --git a/main/gcc/gcc-4.5-dynamic-linker.patch b/main/gcc/gcc-4.5-dynamic-linker.patch index a11c7f934e..a6b235cd19 100644 --- a/main/gcc/gcc-4.5-dynamic-linker.patch +++ b/main/gcc/gcc-4.5-dynamic-linker.patch @@ -17,7 +17,7 @@ index ae2416b..b0b9b2c 100644 @@ -971,7 +971,7 @@ INTERNAL_CFLAGS = -DIN_GCC @CROSS@ # This is the variable actually used when we compile. If you change this, # you probably want to update BUILD_CFLAGS in configure.ac - ALL_CFLAGS = $(T_CFLAGS) \ + ALL_CFLAGS = $(ESP_NOPIE_CFLAGS) $(T_CFLAGS) $(CFLAGS-$@) \ - $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@ + $(CFLAGS) $(INTERNAL_CFLAGS) $(COVERAGE_FLAGS) $(WARN_CFLAGS) @DEFS@ @NOSTDINC@ @@ -57,8 +57,8 @@ index c48fc93..3068717 100644 -#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" +#define GLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER - #if UCLIBC_DEFAULT - #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}" + #if DEFAULT_LIBC == LIBC_UCLIBC + #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" #else diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h index fce1ed1..c3bcd50 100644 @@ -94,8 +94,8 @@ index 5c716cd..b5e464e 100644 %{shared:-G -Bdynamic} \ %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ -- %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \ -+ %{!dynamic-linker:-dynamic-linker DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER}} \ +- -dynamic-linker /lib/ld-uClibc.so.0} \ ++ -dynamic-linker DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER} \ %{static}} -init __init -fini __fini" #define MD_UNWIND_SUPPORT "config/bfin/linux-unwind.h" @@ -207,13 +207,13 @@ index e567e9a..c052fd0 100644 +#define UCLIBC_DYNAMIC_LINKER DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER - #define LINUX_DYNAMIC_LINKER \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) - #define LINUX_DYNAMIC_LINKER32 \ + #define BIONIC_DYNAMIC_LINKER "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" + #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" @@ -135,3 +135,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - #define TARGET_HAS_SINCOS (OPTION_GLIBC) - #define TARGET_POSIX_IO + /* Whether we have sincos that follows the GNU extension. */ + #define TARGET_HAS_SINCOS (OPTION_GLIBC || OPTION_BIONIC) + +#ifdef NOSTDINC +#undef STANDARD_INCLUDE_DIR @@ -270,13 +270,15 @@ index 2f24dfa..850cb22 100644 -#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1" -#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1" -#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0" +-#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" +#define GLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define GLIBC_DYNAMIC_LINKERN32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKERN32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER ++#define BIONIC_DYNAMIC_LINKERN32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER #define LINUX_DYNAMIC_LINKERN32 \ - CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32) - + CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \ + BIONIC_DYNAMIC_LINKERN32) diff --git a/gcc/config/mn10300/linux.h b/gcc/config/mn10300/linux.h index ac9f8c5..8ab78b1 100644 --- a/gcc/config/mn10300/linux.h @@ -306,9 +308,9 @@ index da7bca3..c36e7d6 100644 +#define GLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER32 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER +#define UCLIBC_DYNAMIC_LINKER64 DYNAMIC_LINKER_PREFIX "/" DYNAMIC_LINKER - #if UCLIBC_DEFAULT - #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}" - #else + #if DEFAULT_LIBC == LIBC_UCLIBC + #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" + #elif DEFAULT_LIBC == LIBC_GLIBC diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h index ddbcfa9..59bfd28 100644 --- a/gcc/config/s390/linux.h diff --git a/main/gcc/gcc-powerpc-target-optspace.patch b/main/gcc/gcc-powerpc-target-optspace.patch deleted file mode 100644 index d812863ea5..0000000000 --- a/main/gcc/gcc-powerpc-target-optspace.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/libgcc/config/rs6000/t-ppccomm 2010/04/06 11:07:48 157989 -+++ b/libgcc/config/rs6000/t-ppccomm 2011/02/23 18:06:29 170443 -@@ -15,7 +15,9 @@ - e500crtsavg64gpr.S \ - e500crtsavg64gprctr.S - --EXTRA_PARTS += ecrti$(objext) ecrtn$(objext) ncrti$(objext) ncrtn$(objext) -+EXTRA_PARTS += crtbegin$(objext) crtend$(objext) \ -+ crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext) \ -+ ecrti$(objext) ecrtn$(objext) ncrti$(objext) ncrtn$(objext) - - # We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and - # end labels to all of the special sections used when we link using gcc. diff --git a/main/gcc/gcc-spec-env.patch b/main/gcc/gcc-spec-env.patch index 9d5e666a54..f891d57f51 100644 --- a/main/gcc/gcc-spec-env.patch +++ b/main/gcc/gcc-spec-env.patch @@ -15,7 +15,7 @@ + * each spec listed, the string is overwritten at token boundaries + * (':') with '\0', an effect of strtok_r(). + */ -+ GET_ENVIRONMENT (specs_file, "GCC_SPECS"); ++ specs_file = getenv("GCC_SPECS"); + if (specs_file && (strlen(specs_file) > 0)) + { + char *spec, *saveptr; |