search for: d34195

Displaying 2 results from an estimated 2 matches for "d34195".

Did you mean: d3419
2019 Dec 04
2
GC for defsym'd symbols in LLD
LLD treats any symbol referenced from a linker script as a GC root, which makes sense. Unfortunately, it also processes --defsym as a linker script fragment internally, so all target symbols of a --defsym also get treated as GC roots (i.e., if you have something like --defsym SRC=TGT, TGT will become a GC root). I believe this to be unnecessary for defsym specifically, since you're just
2019 Dec 04
2
GC for defsym'd symbols in LLD
...m c=foo --defsym d=1 --gc-sections -o a => Neither > .text_foo nor .text_bar is retained; lld will retain .text_foo. > > For --defsym from=an_expression_with_to, GNU ld appears to add a > reference from 'from' to 'to'. lld's behavior > (https://reviews.llvm.org/D34195) is more conservative. > > If we stop treating script->referencedSymbols as GC roots, > instructions like `movabs $d, %rax` will no longer be able to access > the intended section. We can tweak our behavior to be like GNU ld, but > the additional complexity may not be worthwhile....