diff options
author | Kostya Kortchinsky <kostyak@google.com> | 2018-03-06 20:13:37 +0000 |
---|---|---|
committer | Kostya Kortchinsky <kostyak@google.com> | 2018-03-06 20:13:37 +0000 |
commit | 7dc51375811299e1f37b82703e6c54e8361c91a5 (patch) | |
tree | 890d1aeea34be446e4037ade1edfc94cbd0ab7a2 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 80d3bb3b4be2cc0d3ad25530a83c94ae9c5d1ba7 (diff) | |
download | llvm-7dc51375811299e1f37b82703e6c54e8361c91a5.zip llvm-7dc51375811299e1f37b82703e6c54e8361c91a5.tar.gz llvm-7dc51375811299e1f37b82703e6c54e8361c91a5.tar.bz2 |
[scudo] Use gc-sections by default
Summary:
If not using `-Wl,--gc-sections`, a whole lot of unused `sanitizer_common` code
and related static variables are pulled into the shared library.
Keep the binary size smaller, and its memory footprint smaller as well, by
using the compiler flags `-ffunction-section` & `-fdata-sections` by default,
as well as the linker flags `-Wl,--gc-sections`.
Current experiments show a large discrepency between binary sizes generated
by gcc (big) and clang (small). I am not sure yet how I can make a test that
would encompass both, so it's an outstanding work item.
Reviewers: alekseyshl, flowerhack
Reviewed By: alekseyshl
Subscribers: mgorny, delcypher, llvm-commits, #sanitizers
Differential Revision: https://reviews.llvm.org/D44121
llvm-svn: 326833
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions