Skip to content

Commit a02e574

Browse files
authored
[libc] Add faccessat entrypoints for aarch64 and riscv (#165869)
Add faccessat entrypoints for aarch64 and riscv linux. Entrypoints are removed if faccessat2 syscall is not available.
1 parent ecd67a7 commit a02e574

File tree

5 files changed

+19
-2
lines changed

5 files changed

+19
-2
lines changed

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -325,8 +325,7 @@ set(TARGET_LIBC_ENTRYPOINTS
325325
libc.src.unistd.dup2
326326
libc.src.unistd.dup3
327327
libc.src.unistd.execve
328-
# Disabled while SYS_faccessat2 is unavailable on the buildbot.
329-
# libc.src.unistd.faccessat
328+
libc.src.unistd.faccessat
330329
libc.src.unistd.fchdir
331330
libc.src.unistd.fpathconf
332331
libc.src.unistd.fsync
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
include(CheckSymbolExists)
2+
check_symbol_exists(SYS_faccessat2 "sys/syscall.h" HAVE_SYS_FACCESSAT2)
3+
if(NOT HAVE_SYS_FACCESSAT2)
4+
message(VERBOSE "unistd.faccessat excluded from build, faccessat2 syscall is not available on the system")
5+
list(APPEND TARGET_LLVMLIBC_REMOVED_ENTRYPOINTS
6+
libc.src.unistd.faccessat
7+
)
8+
endif()

libc/config/linux/riscv/entrypoints.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,7 @@ set(TARGET_LIBC_ENTRYPOINTS
329329
libc.src.unistd.dup2
330330
libc.src.unistd.dup3
331331
libc.src.unistd.execve
332+
libc.src.unistd.faccessat
332333
libc.src.unistd.fchdir
333334
libc.src.unistd.fpathconf
334335
libc.src.unistd.fsync
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
include(CheckSymbolExists)
2+
check_symbol_exists(SYS_faccessat2 "sys/syscall.h" HAVE_SYS_FACCESSAT2)
3+
if(NOT HAVE_SYS_FACCESSAT2)
4+
message(VERBOSE "unistd.faccessat excluded from build, faccessat2 syscall is not available on the system")
5+
list(APPEND TARGET_LLVMLIBC_REMOVED_ENTRYPOINTS
6+
libc.src.unistd.faccessat
7+
)
8+
endif()

libc/config/linux/x86_64/exclude.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ endif()
2323
include(CheckSymbolExists)
2424
check_symbol_exists(SYS_faccessat2 "sys/syscall.h" HAVE_SYS_FACCESSAT2)
2525
if(NOT HAVE_SYS_FACCESSAT2)
26+
message(VERBOSE "unistd.faccessat excluded from build, faccessat2 syscall is not available on the system")
2627
list(APPEND TARGET_LLVMLIBC_REMOVED_ENTRYPOINTS
2728
libc.src.unistd.faccessat
2829
)

0 commit comments

Comments
 (0)