]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/43888 (FAIL: gcc.dg/alias-7.c execution test)
authorDave Korn <dave.korn.cygwin@gmail.com>
Thu, 6 May 2010 16:06:18 +0000 (16:06 +0000)
committerDave Korn <davek@gcc.gnu.org>
Thu, 6 May 2010 16:06:18 +0000 (16:06 +0000)
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

gcc/ChangeLog
gcc/config/i386/winnt.c

index f9250896a849ad28e04d6cd5e2022fe7b3df17ca..467fc409d6bd116c80136ad3252a2979759330e1 100644 (file)
@@ -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.
index 34d3f427d237824e03f181fcc101df62c413dd39..3750e0c4b08712ffc0d65d63b1026e4edadc1f7b 100644 (file)
@@ -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;
 }