<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>