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