From 6a07d2500b69648ea9b6fb72d96b14a579bdc389 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 28 Mar 2006 13:28:54 +0000 Subject: [PATCH] 4.1.0-4 --- .cvsignore | 2 +- gcc41-pr20297-test.patch | 61 ++++++++++++++++++++++++++++++++++++++++ gcc41-rh184446.patch | 6 ++-- gcc41.spec | 38 +++++++++++++++++++++++-- sources | 2 +- 5 files changed, 100 insertions(+), 9 deletions(-) create mode 100644 gcc41-pr20297-test.patch diff --git a/.cvsignore b/.cvsignore index f07ecfe..454d780 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -gcc-4.1.0-20060304.tar.bz2 +gcc-4.1.0-20060328.tar.bz2 diff --git a/gcc41-pr20297-test.patch b/gcc41-pr20297-test.patch new file mode 100644 index 0000000..52d1ab9 --- /dev/null +++ b/gcc41-pr20297-test.patch @@ -0,0 +1,61 @@ +2006-03-28 Jakub Jelinek + + PR middle-end/20297 + * gcc.dg/visibility-11.c: Moved to... + * gcc.target/i386/visibility-1.c: ... here. Only run on + 32-bit linux and bsds. + +--- gcc/testsuite/gcc.dg/visibility-11.c.jj 2006-03-24 17:07:15.000000000 +0100 ++++ gcc/testsuite/gcc.dg/visibility-11.c 2006-03-28 14:59:27.000000000 +0200 +@@ -1,24 +0,0 @@ +-/* PR middle-end/20297 */ +-/* The memcpy FUNCTION_DECL built in the middle-end for block moves got +- hidden visibility from the first push, so the call didn't use the PLT. */ +- +-/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +-/* { dg-require-visibility "" } */ +-/* { dg-options "-Os -fpic" } */ +-/* { dg-final { scan-assembler "memcpy@PLT" } } */ +- +-#pragma GCC visibility push(hidden) +-#pragma GCC visibility push(default) +-extern void* memcpy (void *, const void *, __SIZE_TYPE__); +-#pragma GCC visibility pop +- +-struct a { int a[10]; }; +- +-extern void *bar (struct a *, struct a *, int); +- +-void * +-foo (struct a *a, struct a *b, int c) +-{ +- struct a cc = *b; +- return bar (a, &cc, 4 * c); +-} +--- gcc/testsuite/gcc.target/i386/visibility-1.c.jj 2006-03-28 14:30:17.000000000 +0200 ++++ gcc/testsuite/gcc.target/i386/visibility-1.c 2006-03-28 14:58:48.000000000 +0200 +@@ -0,0 +1,24 @@ ++/* PR middle-end/20297 */ ++/* The memcpy FUNCTION_DECL built in the middle-end for block moves got ++ hidden visibility from the first push, so the call didn't use the PLT. */ ++ ++/* { dg-do compile { target { { i?86-*-linux* x86_64-*-linux* i?86-*-*bsd* x86_64-*-*bsd* } && ilp32 } } } */ ++/* { dg-require-visibility "" } */ ++/* { dg-options "-Os -fpic" } */ ++/* { dg-final { scan-assembler "memcpy@PLT" } } */ ++ ++#pragma GCC visibility push(hidden) ++#pragma GCC visibility push(default) ++extern void* memcpy (void *, const void *, __SIZE_TYPE__); ++#pragma GCC visibility pop ++ ++struct a { int a[10]; }; ++ ++extern void *bar (struct a *, struct a *, int); ++ ++void * ++foo (struct a *a, struct a *b, int c) ++{ ++ struct a cc = *b; ++ return bar (a, &cc, 4 * c); ++} diff --git a/gcc41-rh184446.patch b/gcc41-rh184446.patch index 5579280..db1e47b 100644 --- a/gcc41-rh184446.patch +++ b/gcc41-rh184446.patch @@ -1,12 +1,10 @@ -for gcc/ChangeLog -from Richard Henderson , Alexandre Oliva +2006-03-09 Richard Henderson + Alexandre Oliva * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use secure-plt-compatible load sequence to compute the GOT address for -fPIC -msecure-plt. -Index: gcc/config/rs6000/rs6000.c -=================================================================== --- gcc/config/rs6000/rs6000.c.orig 2006-03-09 20:02:13.000000000 -0300 +++ gcc/config/rs6000/rs6000.c 2006-03-09 22:00:43.000000000 -0300 @@ -3081,7 +3081,7 @@ rs6000_legitimize_tls_address (rtx addr, diff --git a/gcc41.spec b/gcc41.spec index 38c9750..5fac8e1 100644 --- a/gcc41.spec +++ b/gcc41.spec @@ -1,6 +1,6 @@ -%define DATE 20060304 +%define DATE 20060328 %define gcc_version 4.1.0 -%define gcc_release 3 +%define gcc_release 4 %define _unpackaged_files_terminate_build 0 %define multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 @@ -108,6 +108,9 @@ Patch10: gcc41-x86_64-sse3.patch Patch11: gcc41-mni.patch Patch12: gcc41-cfaval.patch Patch13: gcc41-rh184446.patch +Patch14: gcc41-pr21764.patch +Patch15: gcc41-pr21581.patch +Patch16: gcc41-pr20297-test.patch %define _gnu %{nil} %ifarch sparc @@ -400,6 +403,9 @@ which are required to run programs compiled with the GNAT. %patch11 -p0 -b .mni~ %patch12 -p0 -b .cfaval~ %patch13 -p0 -b .rh184446~ +%patch14 -p0 -b .pr21764~ +%patch15 -p0 -b .pr21581~ +%patch16 -p0 -E -b .pr20297-test~ sed -i -e 's/4\.1\.1/4.1.0/' gcc/BASE-VER gcc/version.c sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c @@ -1417,12 +1423,38 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Tue Mar 28 2006 Jakub Jelinek 4.1.0-4 +- update from gcc-4_1-branch (-r111697:112431) + - PRs ada/25885, c/26004, fortran/17298, fortran/20935, fortran/20938, + fortran/23092, fortran/24519, fortran/24557, fortran/25045, + fortran/25054, fortran/25075, fortran/25089, fortran/25378, + fortran/25395, fortran/26041, fortran/26054, fortran/26064, + fortran/26107, fortran/26277, fortran/26393, fortran/26716, + fortran/26741, libfortran/21303, libfortran/24903, libgcj/24461, + libgcj/25713, libgcj/26103, libgcj/26688, libgcj/26706, + libgfortran/26499, libgfortran/26509, libgfortran/26554, + libgfortran/26661, libgfortran/26880, libstdc++/26132, + middle-end/18859, middle-end/19543, middle-end/26557, + middle-end/26630, other/26489, target/25917, target/26347, + target/26459, target/26532, target/26607, tree-optimization/26524, + tree-optimization/26587, tree-optimization/26672 + - fix visibility and builtins interaction (Jason Merrill, + PR middle-end/20297, #175442) +- merge gomp changes from trunk (-r112022:112023, -r112250:112251, + -r112252:112253, -r112350:112351 and -r112282:112283) + - PRs c++/26691, middle-end/26084, middle-end/26611, c++/26690, + middle-end/25989 +- support visibility attribute on namespaces (Jason Merrill, PR c++/21764, + PR c++/19238) +- use hidden visibility for anonymous namespaces by default (Jason Merrill, + PR c++/21581) + * Thu Mar 9 2006 Alexandre Oliva 4.1.0-3 - make ppc32 TLS PIC code sequences compatible with secure plt (#184446) (Richard Henderson and myself) * Sat Mar 4 2006 Jakub Jelinek 4.1.0-2 -- update from -gcc-4_1-branch (-r111570:111697) +- update from gcc-4_1-branch (-r111570:111697) - PRs c++/26291, libgfortran/26136, libgfortran/26423, libgfortran/26464, libstdc++/26526, rtl-optimization/26345, target/19061, target/26453 - handle DW_CFA_val_{offset,offset_sf,expression} in the libgcc{,_s} unwinder diff --git a/sources b/sources index 0ab0f01..e35f56a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cc39dd702c70d0a784c7ecdedbb503b7 gcc-4.1.0-20060304.tar.bz2 +40cb6ec0b50a317a12929f270a0d7c02 gcc-4.1.0-20060328.tar.bz2