[libc-commits] [libc] [libc] Move fileno and fdopen to fullbuild only (PR #128762)
Michael Jones via libc-commits
libc-commits at lists.llvm.org
Tue Feb 25 11:01:32 PST 2025
https://github.com/michaelrj-google created https://github.com/llvm/llvm-project/pull/128762
Both fileno and fdopen require interfacing with the opaque FILE struct,
so they shouldn't be enabled in overlay mode. This patch moves both into
fullbuild only on all platforms.
Fixes #128643
>From ae33e91247f996e667649948f710dcc4cfe88dbd Mon Sep 17 00:00:00 2001
From: Michael Jones <michaelrj at google.com>
Date: Tue, 25 Feb 2025 10:59:46 -0800
Subject: [PATCH] [libc] Move fileno and fdopen to fullbuild only
Both fileno and fdopen require interfacing with the opaque FILE struct,
so they shouldn't be enabled in overlay mode. This patch moves both into
fullbuild only on all platforms.
Fixes #128643
---
libc/config/linux/aarch64/entrypoints.txt | 4 ++--
libc/config/linux/riscv/entrypoints.txt | 4 ++--
libc/config/linux/x86_64/entrypoints.txt | 4 ++--
libc/src/stdio/generic/fileno.cpp | 3 +--
4 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt
index aac4017a0d845..6c2be4d3b0b99 100644
--- a/libc/config/linux/aarch64/entrypoints.txt
+++ b/libc/config/linux/aarch64/entrypoints.txt
@@ -212,8 +212,6 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdlib.realloc
# stdio.h entrypoints
- libc.src.stdio.fdopen
- libc.src.stdio.fileno
libc.src.stdio.fprintf
libc.src.stdio.fscanf
libc.src.stdio.vfscanf
@@ -918,6 +916,7 @@ if(LLVM_LIBC_FULL_BUILD)
libc.src.stdio.clearerr
libc.src.stdio.clearerr_unlocked
libc.src.stdio.fclose
+ libc.src.stdio.fdopen
libc.src.stdio.feof
libc.src.stdio.feof_unlocked
libc.src.stdio.ferror
@@ -926,6 +925,7 @@ if(LLVM_LIBC_FULL_BUILD)
libc.src.stdio.fgetc
libc.src.stdio.fgetc_unlocked
libc.src.stdio.fgets
+ libc.src.stdio.fileno
libc.src.stdio.flockfile
libc.src.stdio.fopen
libc.src.stdio.fopencookie
diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt
index 6b006f0ecca89..fa1e48f901a90 100644
--- a/libc/config/linux/riscv/entrypoints.txt
+++ b/libc/config/linux/riscv/entrypoints.txt
@@ -211,8 +211,6 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdlib.realloc
# stdio.h entrypoints
- libc.src.stdio.fdopen
- libc.src.stdio.fileno
libc.src.stdio.fprintf
libc.src.stdio.fscanf
libc.src.stdio.vfscanf
@@ -857,6 +855,7 @@ if(LLVM_LIBC_FULL_BUILD)
libc.src.stdio.clearerr
libc.src.stdio.clearerr_unlocked
libc.src.stdio.fclose
+ libc.src.stdio.fdopen
libc.src.stdio.feof
libc.src.stdio.feof_unlocked
libc.src.stdio.ferror
@@ -865,6 +864,7 @@ if(LLVM_LIBC_FULL_BUILD)
libc.src.stdio.fgetc
libc.src.stdio.fgetc_unlocked
libc.src.stdio.fgets
+ libc.src.stdio.fileno
libc.src.stdio.flockfile
libc.src.stdio.fopen
libc.src.stdio.fopencookie
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index eaceb15c47291..5bc793db6d3b4 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -211,8 +211,6 @@ set(TARGET_LIBC_ENTRYPOINTS
libc.src.stdlib.realloc
# stdio.h entrypoints
- libc.src.stdio.fdopen
- libc.src.stdio.fileno
libc.src.stdio.fprintf
libc.src.stdio.fscanf
libc.src.stdio.vfscanf
@@ -1018,6 +1016,7 @@ if(LLVM_LIBC_FULL_BUILD)
libc.src.stdio.clearerr
libc.src.stdio.clearerr_unlocked
libc.src.stdio.fclose
+ libc.src.stdio.fdopen
libc.src.stdio.feof
libc.src.stdio.feof_unlocked
libc.src.stdio.ferror
@@ -1026,6 +1025,7 @@ if(LLVM_LIBC_FULL_BUILD)
libc.src.stdio.fgetc
libc.src.stdio.fgetc_unlocked
libc.src.stdio.fgets
+ libc.src.stdio.fileno
libc.src.stdio.flockfile
libc.src.stdio.fopen
libc.src.stdio.fopencookie
diff --git a/libc/src/stdio/generic/fileno.cpp b/libc/src/stdio/generic/fileno.cpp
index 0bec180dd20ac..8fa73d17e1fe1 100644
--- a/libc/src/stdio/generic/fileno.cpp
+++ b/libc/src/stdio/generic/fileno.cpp
@@ -1,5 +1,4 @@
-//===-- Implementation of fileno
-//-------------------------------------------===//
+//===-- Implementation of fileno ------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
More information about the libc-commits
mailing list