aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2025-02-19 16:53:32 +0000
committerBrooks Davis <brooks@FreeBSD.org>2025-02-19 20:05:47 +0000
commitcdb24fbb0a75209043efd3b5e94faa57dfc44bd1 (patch)
tree2ec59fce1c67d98d17087eb368540e2b5bab54e1 /lib
parent7f8a5c5a1585fd9b56adfd8de4f9194ba5cc0785 (diff)
libsys: Don't create or expose __realpathat
Previously, __realpathat was in libc and libsys (as is currently standard), but not exported from libc which meant the stub in libc was not filtered and thus libc's copy of the syscall was used. This broke an upcoming change to CheriBSD limiting syscalls to libsys. The realpath(3) implementation now uses __sys___realpathat so there are no consumers of __realpathat. Switch it to PSEUDO (only _foo and __sys_foo symbols) and remove __realpathat from Symbol.map. This is a corrected version of 58d43a3cd72a4a85ab8489313672c7eab367495e. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D49049
Diffstat (limited to 'lib')
-rw-r--r--lib/libsys/Makefile.sys1
-rw-r--r--lib/libsys/Symbol.map1
2 files changed, 1 insertions, 1 deletions
diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys
index b38cd5935e2f..491c765e9416 100644
--- a/lib/libsys/Makefile.sys
+++ b/lib/libsys/Makefile.sys
@@ -50,6 +50,7 @@ STATICOBJS+= interposing_table.o
.endif
PSEUDO= \
+ __realpathat \
clock_gettime \
exit \
getlogin \
diff --git a/lib/libsys/Symbol.map b/lib/libsys/Symbol.map
index 51ea1b5da231..eb71c813ae86 100644
--- a/lib/libsys/Symbol.map
+++ b/lib/libsys/Symbol.map
@@ -3,7 +3,6 @@ FBSDprivate_1.0 {
__libsys_errno;
__getosreldate;
__libsys_interposing_slot;
- __realpathat;
_elf_aux_info;
freebsd11_fstat;
freebsd11_fstatat;