This is for PR36716 and
this enables emitting file local symbols.
Output size affect is minor:
lld binary size changes from 52,883,408 to 52,949,400
clang binary size changes from 83,136,456 to 83,219,600
Differential D45261
[ELF] - Allow LLD to produce file symbols. grimar on Apr 4 2018, 8:20 AM. Authored by
Details This is for PR36716 and Output size affect is minor:
Diff Detail Event Timeline
Comment Actions By the way, when you mention a bug in a commit message, can you use a link (e.g. https://bugs.llvm.org/show_bug.cgi?id=36716) instead of PRxxxxx for me? Currently it takes like 10 seconds to just open a bug described in a commit message. Comment Actions @ruiu just in case you didn't know, the URL https://llvm.org/PR36716 will do a redirect to the right place. Comment Actions Thank you for the tip! George, please just append https://llvm.org/ when you mention a bug. :) Comment Actions Don't we need to do that at the same time as emitting them? The generic ABI says:
Comment Actions
Yes, looks like we have to fix PR36716 in one go. Do you have a preference over the two orders listed on the bug? Comment Actions This one seems a little better in my opinion, for the reason you mentioned.
It also seems to be the only one that conforms to the ABI because hidden symbols will be STB_LOCAL in the output file. Comment Actions
I think this is always true with this patch. Even with asm below, first local symbol in the object is a file symbol. .global bar1 .hidden bar1 bar1: .file "file1" foo1: I'll post the patch fixing PR36716 in a few minutes, but I think we are safe to land this first to simplify the review of the second one. Comment Actions True, this patch seems safe. Please check in, but add a trivial test from PR36716 so that we see what it is producing. |