mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 18:37:34 +00:00
CMake: Add UNDEFINED_BEHAVIOR_IS_FATAL
configure option
This is mainly intended for use on CI, as UBSan instrumentation results
in a serious load and execution time penalty there. See the previous
commit for more details.
With this enabled, the size of LibWeb, built for x86-64 with Clang 17 as
of 0b91d36a
is reduced as follows:
FILE SIZE VM SIZE
-------------- --------------
+18% +2.99Mi [ = ] 0 .debug_info
+14% +758Ki [ = ] 0 .debug_addr
+2.6% +7.92Ki [ = ] 0 .debug_abbrev
+129% +2.66Ki [ = ] 0 [Unmapped]
-0.2% -208 -0.2% -208 .plt
-0.2% -312 -0.2% -312 .rela.plt
-0.1% -336 -0.1% -336 .dynsym
-0.0% -647 -0.0% -513 [8 Others]
-0.1% -1.14Ki -0.1% -1.14Ki .dynstr
-20.1% -53.5Ki -20.1% -53.5Ki .eh_frame_hdr
-7.2% -56.8Ki [ = ] 0 .debug_str_offsets
-7.1% -156Ki [ = ] 0 .debug_str
-15.0% -160Ki [ = ] 0 .symtab
-63.6% -245Ki -63.6% -245Ki .relr.dyn
-25.4% -357Ki -25.4% -357Ki .eh_frame
-27.7% -1.09Mi [ = ] 0 .strtab
-59.3% -10.0Mi [ = ] 0 .debug_rnglists
-41.3% -11.0Mi [ = ] 0 .debug_line
-70.0% -12.0Mi -70.0% -12.0Mi .rodata
-65.2% -15.1Mi -65.2% -15.1Mi .data
-53.0% -15.7Mi -53.0% -15.7Mi .text
-41.7% -62.1Mi -57.7% -43.4Mi TOTAL
This commit is contained in:
parent
f0973db6dd
commit
44365074fe
5 changed files with 20 additions and 8 deletions
|
@ -9,6 +9,7 @@ endif()
|
|||
|
||||
serenity_option(ENABLE_COMPILETIME_FORMAT_CHECK ON CACHE BOOL "Enable compiletime format string checks")
|
||||
serenity_option(ENABLE_UNDEFINED_SANITIZER OFF CACHE BOOL "Enable undefined behavior sanitizer testing in gcc/clang")
|
||||
serenity_option(UNDEFINED_BEHAVIOR_IS_FATAL OFF CACHE BOOL "Make undefined behavior sanitizer errors non-recoverable")
|
||||
|
||||
serenity_option(ENABLE_ALL_THE_DEBUG_MACROS OFF CACHE BOOL "Enable all debug macros to validate they still compile")
|
||||
serenity_option(ENABLE_ALL_DEBUG_FACILITIES OFF CACHE BOOL "Enable all noisy debug symbols and options. Not recommended for normal developer use")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue