https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63874

--- Comment #3 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> ---
Author: ramana
Date: Mon Jul  4 09:06:02 2016
New Revision: 237957

URL: https://gcc.gnu.org/viewcvs?rev=237957&root=gcc&view=rev
Log:
[AArch64] Fix PR target/63874

     In this PR we have a situation where we aren't really detecting
weak references vs weak definitions. If one has a weak definition that
binds locally there's no reason not to put out PC relative
relocations.

However if you have a genuine weak reference that is known not to bind
locally it makes very little sense to put out an entry into the
literal pool which doesn't always work with DSOs and shared objects.

Tested aarch64-none-linux-gnu bootstrap and regression test with no
regressions

2016-07-04  Ramana Radhakrishnan  <ramana.radhakrish...@arm.com>

        PR target/63874
        * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix
        typo in comment.  Only force to memory if it is a weak
        external reference.

2016-07-04  Ramana Radhakrishnan  <ramana.radhakrish...@arm.com>

        PR target/63874
        * gcc.target/aarch64/pr63874.c: New test.



Added:
    trunk/gcc/testsuite/gcc.target/aarch64/pr63874.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/aarch64/aarch64.c
    trunk/gcc/testsuite/ChangeLog

Reply via email to