linkert nem is használok hozzá, csak fordítót
Az llvm/clang forrásfában bányászva eljutottam a következő kapcsolóig: -fno-addrsig
.
Miután a forrásban megtaláltam, és tudtam, hogy pontosan mire kell keresni a neten, meglett a dokumentáció is:
https://clang.llvm.org/docs/UsersManual.html#cmdoption-faddrsig
Azt írja:
Controls whether Clang emits an address-significance table into the object file. Address-significance tables allow linkers to implement safe ICF without the false positives that can result from other implementation techniques such as relocation scanning. Address-significance tables are enabled by default on ELF targets when using the integrated assembler. This flag currently only has an effect on ELF targets.
Ha megadod a clang-nak az -fno-addrsig
-et, változik valami?
(A kapcsoló egyébként elég régi; én most git-blame-mel a következő commit-ig nyomoztam le: 14b468bab620 ("Re-land r337333, "Teach Clang to emit address-significance tables.", which was reverted in r337336.", 2018-07-18)
. Azért nem könnyű megtalálni, mert mostanra a clang opciók reprezentációja a forrásban megváltozott. Például a 7694b571d9fd ("[Driver] Add multiclass OptInFlag and OptOutFlag to simplify boolean option definition", 2020-06-02)
után az faddrsig
sztringre keresve nincs az Options.td
file-ban találat.)