aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2006-02-03 03:56:55 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2006-02-02 19:56:55 -0800
commit010ef110910a241c2391032540b37179e1dc4630 (patch)
tree991986d0420f5d38767377d3ddb1440aee4b0e5d /gcc
parent05fa7d54d9d020b7257512ce91831ee6a9b1c7ac (diff)
downloadgcc-010ef110910a241c2391032540b37179e1dc4630.zip
gcc-010ef110910a241c2391032540b37179e1dc4630.tar.gz
gcc-010ef110910a241c2391032540b37179e1dc4630.tar.bz2
re PR target/25377 (weakref sibcalled with -fPIC)
2006-02-02 Andrew Pinski <pinskia@physics.uc.edu> PR target/25377 * config/i386/i386.c (ix86_function_ok_for_sibcall): Use targetm.binds_local_p instead of TREE_PUBLIC. From-SVN: r110537
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 103892c..83d13e7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/25377
+ * config/i386/i386.c (ix86_function_ok_for_sibcall):
+ Use targetm.binds_local_p instead of TREE_PUBLIC.
+
2006-02-02 Roger Sayle <roger@eyesopen.com>
* tree.h (TYPE_STRING_FLAG): Document that this field may be used
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index ed23c86..27b42ea 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -2228,7 +2228,7 @@ ix86_function_ok_for_sibcall (tree decl, tree exp)
/* If we are generating position-independent code, we cannot sibcall
optimize any indirect call, or a direct call to a global function,
as the PLT requires %ebx be live. */
- if (!TARGET_64BIT && flag_pic && (!decl || TREE_PUBLIC (decl)))
+ if (!TARGET_64BIT && flag_pic && (!decl || !targetm.binds_local_p (decl)))
return false;
if (decl)