Skip to content

Commit ca05204

Browse files
[libc] fix aarch64 linux full build (#95358)
1 parent a988373 commit ca05204

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,12 @@ if(LLVM_LIBC_FULL_BUILD)
643643
libc.src.pthread.pthread_mutexattr_setrobust
644644
libc.src.pthread.pthread_mutexattr_settype
645645
libc.src.pthread.pthread_once
646+
libc.src.pthread.pthread_rwlockattr_destroy
647+
libc.src.pthread.pthread_rwlockattr_getkind_np
648+
libc.src.pthread.pthread_rwlockattr_getpshared
649+
libc.src.pthread.pthread_rwlockattr_init
650+
libc.src.pthread.pthread_rwlockattr_setkind_np
651+
libc.src.pthread.pthread_rwlockattr_setpshared
646652
libc.src.pthread.pthread_setspecific
647653

648654
# sched.h entrypoints
@@ -753,6 +759,7 @@ if(LLVM_LIBC_FULL_BUILD)
753759
libc.src.unistd._exit
754760
libc.src.unistd.environ
755761
libc.src.unistd.execv
762+
libc.src.unistd.fork
756763
libc.src.unistd.getopt
757764
libc.src.unistd.optarg
758765
libc.src.unistd.optind

libc/src/__support/threads/linux/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ add_object_library(
6464
.futex_utils
6565
libc.config.linux.app_h
6666
libc.include.sys_syscall
67+
libc.include.fcntl
6768
libc.src.errno.errno
6869
libc.src.__support.CPP.atomic
6970
libc.src.__support.CPP.stringstream

libc/test/IntegrationTest/test.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,10 @@ void *realloc(void *ptr, size_t s) {
7979
// Integration tests are linked with -nostdlib. BFD linker expects
8080
// __dso_handle when -nostdlib is used.
8181
void *__dso_handle = nullptr;
82+
83+
// On some platform (aarch64 fedora tested) full build integration test
84+
// objects need to link against libgcc, which may expect a __getauxval
85+
// function. For now, it is fine to provide a weak definition that always
86+
// returns false.
87+
[[gnu::weak]] bool __getauxval(uint64_t, uint64_t *) { return false; }
8288
} // extern "C"

0 commit comments

Comments
 (0)