diff options
author | Andrew Pinski <pinskia@physics.uc.edu> | 2006-02-03 03:56:55 +0000 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2006-02-02 19:56:55 -0800 |
commit | 010ef110910a241c2391032540b37179e1dc4630 (patch) | |
tree | 991986d0420f5d38767377d3ddb1440aee4b0e5d /gcc | |
parent | 05fa7d54d9d020b7257512ce91831ee6a9b1c7ac (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 2 |
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) |