1if(NOT (EXISTS ${LIBC_SOURCE_DIR}/loader/linux/${LIBC_TARGET_MACHINE}))
2  message("Skipping loader tests for target machine ${LIBC_TARGET_MACHINE}.")
3  return()
4endif()
5
6add_loader_test(
7  loader_args_test
8  SRC
9    args_test.cpp
10  DEPENDS
11    libc.loader.linux.crt1
12    libc.src.assert.__assert_fail
13    libc.src.signal.raise
14    libc.src.stdlib._Exit
15    libc.src.stdlib.abort
16  ARGS
17    1 2 3
18  ENV
19    FRANCE=Paris
20    GERMANY=Berlin
21)
22
23add_loader_test(
24  loader_no_envp_test
25  SRC
26    main_without_envp.cpp
27  DEPENDS
28    libc.loader.linux.crt1
29)
30
31add_loader_test(
32  loader_no_args_test
33  SRC
34    main_without_args.cpp
35  DEPENDS
36    libc.loader.linux.crt1
37)
38
39# TODO: Disableing this test temporarily to investigate why gold fails to link
40# and produce an executable for this test. Test works all fine with ld.bfd.
41#add_loader_test(
42#  loader_tls_test
43#  SRC
44#    tls_test.cpp
45#  DEPENDS
46#    libc.config.linux.app_h
47#    libc.include.errno
48#    libc.include.sys_mman
49#    libc.loader.linux.crt1
50#    libc.src.assert.__assert_fail
51#    libc.src.errno.__errno_location
52#    libc.src.sys.mman.mmap
53#)
54