From: Dave Korn Date: Thu, 6 May 2010 16:06:18 +0000 (+0000) Subject: re PR target/43888 (FAIL: gcc.dg/alias-7.c execution test) X-Git-Tag: releases/gcc-4.6.0~7455 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fgcc.git;a=commitdiff_plain;h=e97580ceb355ddae7a4119ed92bd48cd3b6fcb66 re PR target/43888 (FAIL: gcc.dg/alias-7.c execution test) PR target/43888 * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol handling to still return true for x64 targets. From-SVN: r159111 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f9250896a849..467fc409d6bd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-05-06 Dave Korn + + PR target/43888 + * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol + handling to still return true for x64 targets. + 2010-05-06 Maxim Kuvyrkov * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h. diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index 34d3f427d237..3750e0c4b087 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -324,7 +324,10 @@ i386_pe_binds_local_p (const_tree exp) /* Or a weak one, now that they are supported. */ if ((TREE_CODE (exp) == VAR_DECL || TREE_CODE (exp) == FUNCTION_DECL) && DECL_WEAK (exp)) - return false; + /* But x64 gets confused and attempts to use unsupported GOTPCREL + relocations if we tell it the truth, so we still return true in + that case until the deeper problem can be fixed. */ + return (TARGET_64BIT && DEFAULT_ABI == MS_ABI); return true; }