Files
clang-p2996/libc/test/loader/linux/CMakeLists.txt
Siva Chandra Reddy fe2cc14ad4 [libc] Align the stack pointer in the start function.
The loader TLS test for x86_64, which now passes, has been enabled.
A future change should enable the test for aarch64 as well.

Reviewed By: jeffbailey

Differential Revision: https://reviews.llvm.org/D121091
2022-03-07 19:45:53 +00:00

76 lines
1.2 KiB
CMake

if(NOT (EXISTS ${LIBC_SOURCE_DIR}/loader/linux/${LIBC_TARGET_ARCHITECTURE}))
message("Skipping loader tests for target architecture ${LIBC_TARGET_ARCHITECTURE}.")
return()
endif()
add_header_library(
loader_test
HDRS
loader_test.h
DEPENDS
libc.src.__support.OSUtil.osutil
)
add_loader_test(
loader_args_test
SRC
args_test.cpp
DEPENDS
.loader_test
libc.loader.linux.crt1
ARGS
1 2 3
ENV
FRANCE=Paris
GERMANY=Berlin
)
add_loader_test(
loader_no_envp_test
SRC
main_without_envp.cpp
DEPENDS
.loader_test
libc.loader.linux.crt1
)
add_loader_test(
loader_no_args_test
SRC
main_without_args.cpp
DEPENDS
.loader_test
libc.loader.linux.crt1
)
# TODO: Disableing this test temporarily.
# add_loader_test(
# getenv_test
# SRC
# getenv_test.cpp
# DEPENDS
# .loader_test
# libc.loader.linux.crt1
# libc.src.stdlib.getenv
# ENV
# FRANCE=Paris
# GERMANY=Berlin
# )
if(NOT (${LIBC_TARGET_ARCHITECTURE} STREQUAL "x86_64"))
return()
endif()
add_loader_test(
loader_tls_test
SRC
tls_test.cpp
DEPENDS
.loader_test
libc.include.errno
libc.include.sys_mman
libc.loader.linux.crt1
libc.src.errno.errno
libc.src.sys.mman.mmap
)