From: Kaveh R. Ghazi Date: Sat, 2 Feb 2008 02:01:46 +0000 (+0000) Subject: Backport: X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3245d18322a67100dee585aba33fd5e8682369f9;p=thirdparty%2Fgcc.git Backport: 2007-08-02 Nathan Froyd PR middle-end/25445 * varasm.c (default_binds_local_p_1): Consult flag_whole_program if we are compiling with -fPIC. From-SVN: r132061 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d1a04557e47..806fce143837 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2008-02-01 Kaveh R. Ghazi + + Backport: + 2007-08-02 Nathan Froyd + + PR middle-end/25445 + * varasm.c (default_binds_local_p_1): Consult flag_whole_program + if we are compiling with -fPIC. + 2008-01-31 Richard Henderson PR c/34993 diff --git a/gcc/varasm.c b/gcc/varasm.c index 3e317e5c0fba..007ae85c21ae 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -5662,9 +5662,10 @@ default_binds_local_p_1 (tree exp, int shlib) else if (DECL_VISIBILITY (exp) != VISIBILITY_DEFAULT) local_p = true; /* 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)