diff options
author | Dave Korn <dave.korn.cygwin@gmail.com> | 2010-05-06 16:06:18 +0000 |
---|---|---|
committer | Dave Korn <davek@gcc.gnu.org> | 2010-05-06 16:06:18 +0000 |
commit | e97580ceb355ddae7a4119ed92bd48cd3b6fcb66 (patch) | |
tree | 14a7ef463338f7a9d1be35ffe9a006c58f72fa39 | |
parent | f24d84cccfc2a2753d485ffa11d3cf4bf30ad72a (diff) | |
download | gcc-e97580ceb355ddae7a4119ed92bd48cd3b6fcb66.zip gcc-e97580ceb355ddae7a4119ed92bd48cd3b6fcb66.tar.gz gcc-e97580ceb355ddae7a4119ed92bd48cd3b6fcb66.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/winnt.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f925089..467fc40 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-05-06 Dave Korn <dave.korn.cygwin@gmail.com> + + 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 <maxim@codesourcery.com> * 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 34d3f42..3750e0c 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; } |