59 lines
1.5 KiB
Text
59 lines
1.5 KiB
Text
|
if(NOT LLVM_LIBC_INCLUDE_SCUDO)
|
||
|
return()
|
||
|
endif()
|
||
|
|
||
|
# We use a special library consisting of only the SCUDO allocator
|
||
|
# functions to link to the integration tests below. We could instead
|
||
|
# link to libllvmlibc.a directly, but since libllvmlibc.a contains
|
||
|
# functions which depend on the LLVM libc startup system, the integration
|
||
|
# test will have to link to the LLVM libc startup system. LLVM libc's startup
|
||
|
# system is not complete enough to allow this. It is also desireable to
|
||
|
# keep the dependencies as minimal as possible.
|
||
|
add_entrypoint_library(
|
||
|
libc_for_scudo_integration_test
|
||
|
DEPENDS
|
||
|
libc.src.stdlib.malloc
|
||
|
libc.src.stdlib.calloc
|
||
|
libc.src.stdlib.realloc
|
||
|
libc.src.stdlib.aligned_alloc
|
||
|
libc.src.stdlib.free
|
||
|
)
|
||
|
|
||
|
add_executable(
|
||
|
libc-scudo-integration-test
|
||
|
integration_test.cpp
|
||
|
)
|
||
|
|
||
|
target_link_options(
|
||
|
libc-scudo-integration-test
|
||
|
PRIVATE
|
||
|
-pthread
|
||
|
)
|
||
|
|
||
|
target_link_libraries(libc-scudo-integration-test
|
||
|
PRIVATE
|
||
|
libc_for_scudo_integration_test
|
||
|
)
|
||
|
|
||
|
add_executable(
|
||
|
libc-gwp-asan-uaf-should-crash
|
||
|
gwp_asan_should_crash.cpp
|
||
|
)
|
||
|
|
||
|
target_link_options(
|
||
|
libc-gwp-asan-uaf-should-crash
|
||
|
PRIVATE
|
||
|
-pthread
|
||
|
)
|
||
|
|
||
|
target_link_libraries(libc-gwp-asan-uaf-should-crash
|
||
|
PRIVATE
|
||
|
libc_for_scudo_integration_test
|
||
|
)
|
||
|
|
||
|
add_custom_command(TARGET libc-scudo-integration-test
|
||
|
POST_BUILD
|
||
|
COMMAND $<TARGET_FILE:libc-scudo-integration-test>
|
||
|
COMMENT "Run the test after it is built."
|
||
|
VERBATIM)
|