<div dir="ltr"><div class="inbox-inbox-uyb8Gf"><div><div class="inbox-inbox-F3hlO"><div dir="ltr"><div>When
 PIC code uses a string, this creates a relocation that slows down 
program startup time. As long as the string is in the same compilation 
unit as the PIC code this relocation is unnecessary, as the offset of 
the compiled unit is stored in the program counter, and can be accessed 
by a stored subtraction/addition. This would mean more instructions at 
the call site, so the details I would image would require some careful 
coordination between llvm and lld.</div><div><br></div><div>I have a bug for this: <a href="https://bugs.llvm.org/show_bug.cgi?id=39049" target="_blank">https://bugs.llvm.org/show_bug.cgi?id=39049</a></div><div><br></div><div>and would greatly appreciate feedback, and pointers on how to do this.</div><div><br></div><div>Thanks!<div class="inbox-inbox-i3"><div dir="ltr"><div><br></div><div>Shawn Landden</div></div></div></div></div></div></div></div></div>