[libc-commits] [libc] [libc] Add faccessat entrypoints for aarch64 and riscv linux (PR #165869)
via libc-commits
libc-commits at lists.llvm.org
Fri Oct 31 07:40:15 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-risc-v
Author: Marcell Leleszi (mleleszi)
<details>
<summary>Changes</summary>
Add faccessat entrypoints for aarch64 and riscv linux. Entrypoints are removed is faccessat2 syscall is not available.
---
Full diff: https://github.com/llvm/llvm-project/pull/165869.diff
4 Files Affected:
- (modified) libc/config/linux/aarch64/entrypoints.txt (+1-2)
- (added) libc/config/linux/aarch64/exclude.txt (+7)
- (modified) libc/config/linux/riscv/entrypoints.txt (+1)
- (added) libc/config/linux/riscv/exclude.txt (+7)
``````````diff
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index 714120a79e39a..e0dd15b803253 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -325,8 +325,7 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.unistd.dup2
libc.src.unistd.dup3
libc.src.unistd.execve
- # Disabled while SYS_faccessat2 is unavailable on the buildbot.
- # libc.src.unistd.faccessat
+ libc.src.unistd.faccessat
libc.src.unistd.fchdir
libc.src.unistd.fpathconf
libc.src.unistd.fsync
diff --git a/libc/config/linux/aarch64/exclude.txt b/libc/config/linux/aarch64/exclude.txt
new file mode 100644
index 0000000000000..d3147686a7a9d
--- /dev/null
+++ b/libc/config/linux/aarch64/exclude.txt
@@ -0,0 +1,7 @@
+include(CheckSymbolExists)
+check_symbol_exists(SYS_faccessat2 "sys/syscall.h" HAVE_SYS_FACCESSAT2)
+if(NOT HAVE_SYS_FACCESSAT2)
+ list(APPEND TARGET_LLVMLIBC_REMOVED_ENTRYPOINTS
+ libc.src.unistd.faccessat
+ )
+endif()
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index f6bbb346d10e5..0d031d8844f13 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -329,6 +329,7 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.unistd.dup2
libc.src.unistd.dup3
libc.src.unistd.execve
+ libc.src.unistd.faccessat
libc.src.unistd.fchdir
libc.src.unistd.fpathconf
libc.src.unistd.fsync
diff --git a/libc/config/linux/riscv/exclude.txt b/libc/config/linux/riscv/exclude.txt
new file mode 100644
index 0000000000000..d3147686a7a9d
--- /dev/null
+++ b/libc/config/linux/riscv/exclude.txt
@@ -0,0 +1,7 @@
+include(CheckSymbolExists)
+check_symbol_exists(SYS_faccessat2 "sys/syscall.h" HAVE_SYS_FACCESSAT2)
+if(NOT HAVE_SYS_FACCESSAT2)
+ list(APPEND TARGET_LLVMLIBC_REMOVED_ENTRYPOINTS
+ libc.src.unistd.faccessat
+ )
+endif()
``````````
</details>
https://github.com/llvm/llvm-project/pull/165869
More information about the libc-commits
mailing list