[libc-commits] [libc] f625230 - [libc] Inherit integration test dependencies from the startup target

Joseph Huber via libc-commits libc-commits at lists.llvm.org
Thu Mar 16 05:33:33 PDT 2023


Author: Joseph Huber
Date: 2023-03-16T07:33:22-05:00
New Revision: f62523032d1d0e3e0f33cd1bc738a9f4b785eb25

URL: https://github.com/llvm/llvm-project/commit/f62523032d1d0e3e0f33cd1bc738a9f4b785eb25
DIFF: https://github.com/llvm/llvm-project/commit/f62523032d1d0e3e0f33cd1bc738a9f4b785eb25.diff

LOG: [libc] Inherit integration test dependencies from the startup target

All integration tests rely on the startup code to be run. Currently we
manually include a few of these dependencies that are relevant for the
Linux target. This patch changes this to make the integration test's
dependencies include all the dependencies of the startup code. This
simplifies the code and makes it easier to support different targets.
The changes here cause the integration test to be dependent on more
targets than previously necessary, but it should be fine.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D146184

Added: 
    

Modified: 
    libc/cmake/modules/LLVMLibCTestRules.cmake

Removed: 
    


################################################################################
diff  --git a/libc/cmake/modules/LLVMLibCTestRules.cmake b/libc/cmake/modules/LLVMLibCTestRules.cmake
index 6e253745a6fc1..6054f46bfb541 100644
--- a/libc/cmake/modules/LLVMLibCTestRules.cmake
+++ b/libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -439,15 +439,9 @@ function(add_integration_test test_name)
 
   get_fq_deps_list(fq_deps_list ${INTEGRATION_TEST_DEPENDS})
   list(APPEND fq_deps_list
-      # All integration tests setup TLS area and the main thread's self object.
-      # So, we need to link in the threads implementation. Likewise, the startup
-      # code also has to run init_array callbacks which potentially register
-      # their own atexit callbacks. So, link in exit and atexit also with all
-      # integration tests.
-      libc.src.__support.threads.thread
-      libc.src.stdlib.atexit
-      libc.src.stdlib.exit
-      libc.src.unistd.environ
+      # All integration tests need to inherit the same dependencies as the
+      # startup code.
+      ${INTEGRATION_TEST_STARTUP}
       # We always add the memory functions objects. This is because the
       # compiler's codegen can emit calls to the C memory functions.
       libc.src.string.bcmp


        


More information about the libc-commits mailing list