Skip to content

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

Merged
merged 1 commit into from
Jun 13, 2024

Conversation

SchrodingerZhu
Copy link
Contributor

This reverts commit ca05204.

I misinterpreted __getauxval with __getauxval2. It should be the same as getauxval 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

@SchrodingerZhu SchrodingerZhu requested a review from lntue June 13, 2024 14:57
@llvmbot llvmbot added the libc label Jun 13, 2024
@llvmbot
Copy link
Member

llvmbot commented Jun 13, 2024

@llvm/pr-subscribers-libc

Author: Schrodinger ZHU Yifan (SchrodingerZhu)

Changes

This reverts commit ca05204.

I misinterpreted __getauxval with __getauxval2. It should be the same as getauxval 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


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

3 Files Affected:

  • (modified) libc/config/linux/aarch64/entrypoints.txt (-7)
  • (modified) libc/src/__support/threads/linux/CMakeLists.txt (-1)
  • (modified) libc/test/IntegrationTest/test.cpp (-6)
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"

@SchrodingerZhu SchrodingerZhu merged commit 9e5428e into main Jun 13, 2024
6 of 7 checks passed
@SchrodingerZhu SchrodingerZhu deleted the revert-95358-libc/aarch64-linux-fix branch June 13, 2024 15:37
SchrodingerZhu pushed a commit that referenced this pull request Jun 13, 2024
SchrodingerZhu added a commit that referenced this pull request Jun 14, 2024
Reverts #95419 and Reland #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.
EthanLuisMcDonough pushed a commit to EthanLuisMcDonough/llvm-project that referenced this pull request Aug 13, 2024
EthanLuisMcDonough pushed a commit to EthanLuisMcDonough/llvm-project that referenced this pull request Aug 13, 2024
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants