This is an archive of the discontinued LLVM Phabricator instance.

Handle undefined weak hidden symbols on all architectures
ClosedPublic

Authored by rafael on Oct 4 2017, 11:13 AM.

Details

Reviewers
rsmith
rnk
Summary

We were handling the non-hidden case in lib/Target/TargetMachine.cpp, but the hidden case was handled in architecture dependent code and only X86_64 and AArch64 were covered.

While it is true that some code sequences in some ABIs might be able to produce the correct value at runtime, that doesn't seem to be the common case.

I left the AArch64 code in place since it also forces a got access for non-pic code. It is not clear if that is needed, but it is probably better to change that in another commit.

Diff Detail

Event Timeline

rafael created this revision.Oct 4 2017, 11:13 AM
rnk accepted this revision.Oct 25 2017, 10:11 AM

lgtm, thanks!

This revision is now accepted and ready to land.Oct 25 2017, 10:11 AM
rafael closed this revision.Oct 27 2017, 2:22 PM

r316799.