aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernd.schmidt@analog.com>2009-09-14 11:13:14 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2009-09-14 11:13:14 +0000
commit49caeea1b05c9ebf3f51a719143c49bd05ba2ed5 (patch)
treebdcea320202bbd67627a24466d165801fb53b860
parentd5968a863f679cbadd934727aed80859de3e584e (diff)
downloadgcc-49caeea1b05c9ebf3f51a719143c49bd05ba2ed5.zip
gcc-49caeea1b05c9ebf3f51a719143c49bd05ba2ed5.tar.gz
gcc-49caeea1b05c9ebf3f51a719143c49bd05ba2ed5.tar.bz2
bfin.c (bfin_longcall_p): Don't use short calls for weak symbols.
* config/bfin/bfin.c (bfin_longcall_p): Don't use short calls for weak symbols. From-SVN: r151685
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/bfin/bfin.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 930b556..f7dc8d9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2009-09-14 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (bfin_longcall_p): Don't use short calls for weak
+ symbols.
+
2009-09-14 Richard Guenther <rguenther@suse.de>
PR middle-end/41350
diff --git a/gcc/config/bfin/bfin.c b/gcc/config/bfin/bfin.c
index ed51006..0a7b149 100644
--- a/gcc/config/bfin/bfin.c
+++ b/gcc/config/bfin/bfin.c
@@ -2219,6 +2219,8 @@ bool
bfin_longcall_p (rtx op, int call_cookie)
{
gcc_assert (GET_CODE (op) == SYMBOL_REF);
+ if (SYMBOL_REF_WEAK (op))
+ return 1;
if (call_cookie & CALL_SHORT)
return 0;
if (call_cookie & CALL_LONG)