diff --git a/libc/src/assert/CMakeLists.txt b/libc/src/assert/CMakeLists.txt --- a/libc/src/assert/CMakeLists.txt +++ b/libc/src/assert/CMakeLists.txt @@ -6,9 +6,6 @@ __assert_fail.h assert.h DEPENDS - # These two dependencies are temporary and should be replaced by fprintf - # later. libc.src.__support.OSUtil.osutil - libc.include.sys_syscall libc.src.stdlib.abort ) diff --git a/libc/src/assert/__assert_fail.cpp b/libc/src/assert/__assert_fail.cpp --- a/libc/src/assert/__assert_fail.cpp +++ b/libc/src/assert/__assert_fail.cpp @@ -6,24 +6,12 @@ // //===----------------------------------------------------------------------===// +#include "src/__support/OSUtil/io.h" #include "src/assert/__assert_fail.h" #include "src/stdlib/abort.h" -// These includes are temporary. -#include "include/sys/syscall.h" // For syscall numbers. -#include "src/__support/OSUtil/syscall.h" // For internal syscall function. - namespace __llvm_libc { -// This is just a temporary solution to make assert available to internal -// llvm libc code. In the future writeToStderr will not exist and __assert_fail -// will call fprintf(stderr, ...). -static void write_to_stderr(const char *s) { - size_t length = 0; - for (const char *curr = s; *curr; ++curr, ++length); - __llvm_libc::syscall(SYS_write, 2, s, length); -} - LLVM_LIBC_FUNCTION(void, __assert_fail, (const char *assertion, const char *file, unsigned line, const char *function)) { diff --git a/libc/src/stdlib/CMakeLists.txt b/libc/src/stdlib/CMakeLists.txt --- a/libc/src/stdlib/CMakeLists.txt +++ b/libc/src/stdlib/CMakeLists.txt @@ -250,12 +250,7 @@ # add_entrypoint_object( # abort -# SRCS -# abort.cpp -# HDRS -# abort.h +# ALIAS # DEPENDS -# libc.include.stdlib -# libc.src.signal.raise -# ._Exit +# .${LIBC_TARGET_OS}.abort # ) diff --git a/libc/src/stdlib/linux/CMakeLists.txt b/libc/src/stdlib/linux/CMakeLists.txt --- a/libc/src/stdlib/linux/CMakeLists.txt +++ b/libc/src/stdlib/linux/CMakeLists.txt @@ -9,3 +9,15 @@ libc.include.stdlib libc.src.__support.OSUtil.osutil ) + +# add_entrypoint_object( +# abort +# SRCS +# abort.cpp +# HDRS +# ../abort.h +# DEPENDS +# libc.include.stdlib +# libc.src.signal.raise +# ._Exit +# ) diff --git a/libc/src/stdlib/abort.cpp b/libc/src/stdlib/linux/abort.cpp rename from libc/src/stdlib/abort.cpp rename to libc/src/stdlib/linux/abort.cpp