[libc-commits] [libc] [libc] Avoid the atexit and exit_handler dependency for exit (PR #98121)

via libc-commits libc-commits at lists.llvm.org
Tue Jul 9 00:30:01 PDT 2024


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libc

Author: Petr Hosek (petrhosek)

<details>
<summary>Changes</summary>

These are not required and without these dependencies, we would wound up with an unresolved reference to __cxa_finalize, which can be provided by the vendor making this compatible with baremetal.

---
Full diff: https://github.com/llvm/llvm-project/pull/98121.diff


3 Files Affected:

- (modified) libc/config/baremetal/arm/entrypoints.txt (+1) 
- (modified) libc/config/baremetal/riscv/entrypoints.txt (+1) 
- (modified) libc/src/stdlib/CMakeLists.txt (-2) 


``````````diff
diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt
index 7705e971aed3e..b4ad1027cacd4 100644
--- a/libc/config/baremetal/arm/entrypoints.txt
+++ b/libc/config/baremetal/arm/entrypoints.txt
@@ -176,6 +176,7 @@ set(TARGET_LIBC_ENTRYPOINTS
     libc.src.stdlib.bsearch
     libc.src.stdlib.calloc
     libc.src.stdlib.div
+    libc.src.stdlib.exit
     libc.src.stdlib.free
     libc.src.stdlib.freelist_malloc
     libc.src.stdlib.labs
diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt
index 4d020fd8a1758..94d93522dd325 100644
--- a/libc/config/baremetal/riscv/entrypoints.txt
+++ b/libc/config/baremetal/riscv/entrypoints.txt
@@ -172,6 +172,7 @@ set(TARGET_LIBC_ENTRYPOINTS
     libc.src.stdlib.bsearch
     libc.src.stdlib.calloc
     libc.src.stdlib.div
+    libc.src.stdlib.exit
     libc.src.stdlib.free
     libc.src.stdlib.freelist_malloc
     libc.src.stdlib.labs
diff --git a/libc/src/stdlib/CMakeLists.txt b/libc/src/stdlib/CMakeLists.txt
index 677bf358c82c4..5595664e90a56 100644
--- a/libc/src/stdlib/CMakeLists.txt
+++ b/libc/src/stdlib/CMakeLists.txt
@@ -505,9 +505,7 @@ add_entrypoint_object(
     exit.h
   DEPENDS
     ._Exit
-    .atexit
     libc.src.__support.OSUtil.osutil
-    .exit_handler
 )
 
 add_entrypoint_object(

``````````

</details>


https://github.com/llvm/llvm-project/pull/98121


More information about the libc-commits mailing list