aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2007-08-02 14:40:36 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2007-08-02 14:40:36 +0000
commitd236f595e8fac9678388240b04c1ae25082f1d2a (patch)
tree81ad9b4f59b57ae504e1556172d8f381f97ca840
parent0d37d3a73da98416d2020880ca8f2ec47b5a9c96 (diff)
downloadgcc-d236f595e8fac9678388240b04c1ae25082f1d2a.zip
gcc-d236f595e8fac9678388240b04c1ae25082f1d2a.tar.gz
gcc-d236f595e8fac9678388240b04c1ae25082f1d2a.tar.bz2
re PR middle-end/25445 (-fpic/-fPIC failure in gcc.dg/tree-ssa/wholeprogram-1.c)
PR middle-end/25445 * varasm.c (default_binds_local_p_1): Consult flag_whole_program if we are compiling with -fPIC. From-SVN: r127162
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/varasm.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c79f2e7..e712c82 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2007-08-02 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR middle-end/25445
+ * varasm.c (default_binds_local_p_1): Consult flag_whole_program
+ if we are compiling with -fPIC.
+
2007-08-02 Sandra Loosemore <sandra@codesourcery.com>
Nigel Stephens <nigel@mips.com>
diff --git a/gcc/varasm.c b/gcc/varasm.c
index a265db8..b2b68cd 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -6198,9 +6198,10 @@ default_binds_local_p_1 (tree exp, int shlib)
else if (DECL_WEAK (exp))
local_p = false;
/* If PIC, then assume that any global name can be overridden by
- symbols resolved from other modules. */
+ symbols resolved from other modules, unless we are compiling with
+ -fwhole-program, which assumes that names are local. */
else if (shlib)
- local_p = false;
+ local_p = flag_whole_program;
/* Uninitialized COMMON variable may be unified with symbols
resolved from other modules. */
else if (DECL_COMMON (exp)