[RS6000] Weak functions may not be file local
commit53c4d4307f3451a2efc6f310a53405c888d1b803
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Sep 2015 23:03:19 +0000 (1 23:03 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Sep 2015 23:03:19 +0000 (1 23:03 +0000)
tree593153c5267b87b5614ee8569453ade4a75d229e
parent59449ca985bde559e627d1573a14a6a18742bcb2
[RS6000] Weak functions may not be file local

A weak symbol defined in the current object file may not turn out to
be the definition used at link time, if other copies of the symbol
exist.  This means they can't be considered file local.

PR target/67417
* config/rs6000/predicates.md (current_file_function_operand): Don't
return true for weak symbols.
* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227386 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000.c