[libc-commits] [PATCH] D146184: [libc] Inherit integration test dependencies from the startup target

Joseph Huber via Phabricator via libc-commits libc-commits at lists.llvm.org
Wed Mar 15 18:14:27 PDT 2023


jhuber6 created this revision.
jhuber6 added reviewers: sivachandra, michaelrj, lntue.
Herald added subscribers: libc-commits, mikhail.ramalho, ecnelises, tschuett.
Herald added projects: libc-project, All.
jhuber6 requested review of this revision.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D146184

Files:
  libc/cmake/modules/LLVMLibCTestRules.cmake


Index: libc/cmake/modules/LLVMLibCTestRules.cmake
===================================================================
--- libc/cmake/modules/LLVMLibCTestRules.cmake
+++ libc/cmake/modules/LLVMLibCTestRules.cmake
@@ -439,15 +439,9 @@
 
   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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146184.505674.patch
Type: text/x-patch
Size: 1108 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20230316/8df49554/attachment.bin>


More information about the libc-commits mailing list