On Thu, Mar 31, 2016 at 02:11:49PM +0100, Ramana Radhakrishnan wrote: > Hi, > > 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 > > This is not a regression and given what we've seen recently with protected > symbols and binds_locally_p I'd rather this were queued for GCC 7. > > Ok ?
Based on the bugzilla report, this looks OK for GCC 7 to me. But I don't know the dark corners of the elf specification, so I'd rather leave the final review to Richard or Marcus. Thanks, James > gcc/ > > * config/aarch64/aarch64.c (aarch64_classify_symbol): Typo in comment fixed. > Only force to memory if it is a weak external reference. > > gcc/testsuite > > * gcc.target/aarch64/pr63874.c: New test.