aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
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 /gcc/varasm.c
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
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c5
1 files changed, 3 insertions, 2 deletions
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)