-
Notifications
You must be signed in to change notification settings - Fork 14.2k
Revert "[libc] fix aarch64 linux full build (#95358)" #95419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This reverts commit ca05204.
@llvm/pr-subscribers-libc Author: Schrodinger ZHU Yifan (SchrodingerZhu) ChangesThis reverts commit ca05204. I misinterpreted I also found the GCC patch that actually cause this problem: Full diff: https://github.com/llvm/llvm-project/pull/95419.diff 3 Files Affected:
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index 7ce088689b925..db96a80051a8d 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -643,12 +643,6 @@ if(LLVM_LIBC_FULL_BUILD)
libc.src.pthread.pthread_mutexattr_setrobust
libc.src.pthread.pthread_mutexattr_settype
libc.src.pthread.pthread_once
- libc.src.pthread.pthread_rwlockattr_destroy
- libc.src.pthread.pthread_rwlockattr_getkind_np
- libc.src.pthread.pthread_rwlockattr_getpshared
- libc.src.pthread.pthread_rwlockattr_init
- libc.src.pthread.pthread_rwlockattr_setkind_np
- libc.src.pthread.pthread_rwlockattr_setpshared
libc.src.pthread.pthread_setspecific
# sched.h entrypoints
@@ -759,7 +753,6 @@ if(LLVM_LIBC_FULL_BUILD)
libc.src.unistd._exit
libc.src.unistd.environ
libc.src.unistd.execv
- libc.src.unistd.fork
libc.src.unistd.getopt
libc.src.unistd.optarg
libc.src.unistd.optind
diff --git a/libc/src/__support/threads/linux/CMakeLists.txt b/libc/src/__support/threads/linux/CMakeLists.txt
index 8e6cd7227b2c8..9bf88ccc84557 100644
--- a/libc/src/__support/threads/linux/CMakeLists.txt
+++ b/libc/src/__support/threads/linux/CMakeLists.txt
@@ -64,7 +64,6 @@ add_object_library(
.futex_utils
libc.config.linux.app_h
libc.include.sys_syscall
- libc.include.fcntl
libc.src.errno.errno
libc.src.__support.CPP.atomic
libc.src.__support.CPP.stringstream
diff --git a/libc/test/IntegrationTest/test.cpp b/libc/test/IntegrationTest/test.cpp
index 27e7f29efa0f1..3bdbe89a3fb62 100644
--- a/libc/test/IntegrationTest/test.cpp
+++ b/libc/test/IntegrationTest/test.cpp
@@ -79,10 +79,4 @@ void *realloc(void *ptr, size_t s) {
// Integration tests are linked with -nostdlib. BFD linker expects
// __dso_handle when -nostdlib is used.
void *__dso_handle = nullptr;
-
-// On some platform (aarch64 fedora tested) full build integration test
-// objects need to link against libgcc, which may expect a __getauxval
-// function. For now, it is fine to provide a weak definition that always
-// returns false.
-[[gnu::weak]] bool __getauxval(uint64_t, uint64_t *) { return false; }
} // extern "C"
|
Reverts llvm#95419 and Reland llvm#95358. This PR is full of temporal fixes. After a discussion with @lntue, it is better to avoid further changes to the cmake infrastructure for now as a rework to the cmake utilities will be landed in the future.
This reverts commit ca05204.
I misinterpreted
__getauxval
with__getauxval2
. It should be the same asgetauxval
and we should be able to provide it in a more proper way.I also found the GCC patch that actually cause this problem:
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=1266778548e20de82983b6446f3cb685068cfb1e