[PATCH] D92078: [asan] Default to -asan-use-private-alias=1
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 2 10:46:40 PST 2020
MaskRay added a comment.
In D92078#2427100 <https://reviews.llvm.org/D92078#2427100>, @vitalybuka wrote:
> I guess another cons was binary size increase? Would you like to run large scale testing on internal Google code?
Did a large scale testing in internal Google code - tests passed.
For a linked shared object/executable, there is no size difference (checked with an asan clang). In object files, there are minimal differences:
% diff -U1 a.s b.s
--- a.s 2020-12-02 10:33:09.222518415 -0800
+++ b.s 2020-12-02 10:33:13.082528586 -0800
@@ -76,3 +76,3 @@
__unnamed_1:
- .quad _ZN3foo1GE
+ .quad .L__unnamed_2
.quad 4 # 0x4
@@ -92,2 +92,3 @@
.quad asan.module_dtor
+.set .L__unnamed_2, _ZN3foo1GE
.ident "clang version 12.0.0"
@@ -104 +105,2 @@
.addrsig_sym __unnamed_1
+ .addrsig_sym .L__unnamed_2
- The `.llvm_addrsig` size difference is due to a bug in addrsig (local symbols don't need `.addrsig_sym`). I am going to fix it
- Some global symbol referenced relocations are converted to reference local symbols. Using private aliases can cause some extra STT_SECTION symbols (for `.data`/`.bss`). The cost should be acceptable.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92078/new/
https://reviews.llvm.org/D92078
More information about the llvm-commits
mailing list