From d7847a8d351436a4654bd2c746bc9c04401160ee Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Wed, 13 Mar 2024 17:42:01 +0000 Subject: [PATCH] lib{c,sys}: return wrapped syscall APIs to libc These provide standard APIs, but are implemented using another system call (e.g., pipe implemented in terms of pipe2) or are interposed by the threading library to support cancelation. After discussion with kib (see D44111), I've concluded that it is better to keep most public interfaces in libc with as little as possible in libsys. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D44241 --- lib/libc/Makefile | 3 +- lib/libc/amd64/Symbol.map | 3 + lib/libc/arm/Symbol.map | 3 + lib/libc/i386/Symbol.map | 3 + lib/libc/powerpc/Symbol.map | 2 + lib/libc/powerpc64/Symbol.map | 2 + lib/libc/sys/Makefile.inc | 38 +++++++++++ lib/{libsys => libc/sys}/POSIX2x_Fork.c | 0 lib/libc/sys/Symbol.map | 73 ++++++++++++++++++++++ lib/{libsys => libc/sys}/accept.c | 0 lib/{libsys => libc/sys}/accept4.c | 0 lib/{libsys => libc/sys}/aio_suspend.c | 0 lib/{libsys => libc/sys}/brk.c | 0 lib/{libsys => libc/sys}/clock_nanosleep.c | 0 lib/{libsys => libc/sys}/close.c | 0 lib/{libsys => libc/sys}/closefrom.c | 0 lib/{libsys => libc/sys}/compat-stub.c | 0 lib/{libsys => libc/sys}/connect.c | 0 lib/{libsys => libc/sys}/creat.c | 0 lib/{libsys => libc/sys}/fcntl.c | 0 lib/{libsys => libc/sys}/fdatasync.c | 0 lib/{libsys => libc/sys}/fork.c | 0 lib/{libsys => libc/sys}/fsync.c | 0 lib/{libsys => libc/sys}/getdents.c | 0 lib/{libsys => libc/sys}/kevent.c | 0 lib/{libsys => libc/sys}/lockf.c | 0 lib/{libsys => libc/sys}/lstat.c | 0 lib/{libsys => libc/sys}/mknod.c | 0 lib/{libsys => libc/sys}/msync.c | 0 lib/{libsys => libc/sys}/nanosleep.c | 0 lib/{libsys => libc/sys}/open.c | 0 lib/{libsys => libc/sys}/openat.c | 0 lib/{libsys => libc/sys}/pdfork.c | 0 lib/{libsys => libc/sys}/pipe.c | 0 lib/{libsys => libc/sys}/poll.c | 0 lib/{libsys => libc/sys}/ppoll.c | 0 lib/{libsys => libc/sys}/pselect.c | 0 lib/{libsys => libc/sys}/read.c | 0 lib/{libsys => libc/sys}/readv.c | 0 lib/{libsys => libc/sys}/recv.c | 0 lib/{libsys => libc/sys}/recvfrom.c | 0 lib/{libsys => libc/sys}/recvmsg.c | 0 lib/{libsys => libc/sys}/select.c | 0 lib/{libsys => libc/sys}/send.c | 0 lib/{libsys => libc/sys}/sendmsg.c | 0 lib/{libsys => libc/sys}/sendto.c | 0 lib/{libsys => libc/sys}/setcontext.c | 0 lib/{libsys => libc/sys}/shm_open.c | 0 lib/{libsys => libc/sys}/sigaction.c | 0 lib/{libsys => libc/sys}/sigprocmask.c | 0 lib/{libsys => libc/sys}/sigsuspend.c | 0 lib/{libsys => libc/sys}/sigtimedwait.c | 0 lib/{libsys => libc/sys}/sigwait.c | 0 lib/{libsys => libc/sys}/sigwaitinfo.c | 0 lib/{libsys => libc/sys}/stat.c | 0 lib/{libsys => libc/sys}/swapcontext.c | 0 lib/{libsys => libc/sys}/vadvise.c | 0 lib/{libsys => libc/sys}/wait.c | 0 lib/{libsys => libc/sys}/wait3.c | 0 lib/{libsys => libc/sys}/wait4.c | 0 lib/{libsys => libc/sys}/wait6.c | 0 lib/{libsys => libc/sys}/waitid.c | 0 lib/{libsys => libc/sys}/waitpid.c | 0 lib/{libsys => libc/sys}/write.c | 0 lib/{libsys => libc/sys}/writev.c | 0 lib/libsys/Makefile.sys | 16 ----- lib/libsys/Symbol.sys.map | 50 --------------- lib/libsys/amd64/Symbol.sys.map | 8 --- lib/libsys/arm/Symbol.sys.map | 7 --- lib/libsys/i386/Symbol.sys.map | 3 - lib/libsys/powerpc/Symbol.sys.map | 4 -- lib/libsys/powerpc64/Symbol.sys.map | 4 -- 72 files changed, 125 insertions(+), 94 deletions(-) create mode 100644 lib/libc/sys/Makefile.inc rename lib/{libsys => libc/sys}/POSIX2x_Fork.c (100%) create mode 100644 lib/libc/sys/Symbol.map rename lib/{libsys => libc/sys}/accept.c (100%) rename lib/{libsys => libc/sys}/accept4.c (100%) rename lib/{libsys => libc/sys}/aio_suspend.c (100%) rename lib/{libsys => libc/sys}/brk.c (100%) rename lib/{libsys => libc/sys}/clock_nanosleep.c (100%) rename lib/{libsys => libc/sys}/close.c (100%) rename lib/{libsys => libc/sys}/closefrom.c (100%) rename lib/{libsys => libc/sys}/compat-stub.c (100%) rename lib/{libsys => libc/sys}/connect.c (100%) rename lib/{libsys => libc/sys}/creat.c (100%) rename lib/{libsys => libc/sys}/fcntl.c (100%) rename lib/{libsys => libc/sys}/fdatasync.c (100%) rename lib/{libsys => libc/sys}/fork.c (100%) rename lib/{libsys => libc/sys}/fsync.c (100%) rename lib/{libsys => libc/sys}/getdents.c (100%) rename lib/{libsys => libc/sys}/kevent.c (100%) rename lib/{libsys => libc/sys}/lockf.c (100%) rename lib/{libsys => libc/sys}/lstat.c (100%) rename lib/{libsys => libc/sys}/mknod.c (100%) rename lib/{libsys => libc/sys}/msync.c (100%) rename lib/{libsys => libc/sys}/nanosleep.c (100%) rename lib/{libsys => libc/sys}/open.c (100%) rename lib/{libsys => libc/sys}/openat.c (100%) rename lib/{libsys => libc/sys}/pdfork.c (100%) rename lib/{libsys => libc/sys}/pipe.c (100%) rename lib/{libsys => libc/sys}/poll.c (100%) rename lib/{libsys => libc/sys}/ppoll.c (100%) rename lib/{libsys => libc/sys}/pselect.c (100%) rename lib/{libsys => libc/sys}/read.c (100%) rename lib/{libsys => libc/sys}/readv.c (100%) rename lib/{libsys => libc/sys}/recv.c (100%) rename lib/{libsys => libc/sys}/recvfrom.c (100%) rename lib/{libsys => libc/sys}/recvmsg.c (100%) rename lib/{libsys => libc/sys}/select.c (100%) rename lib/{libsys => libc/sys}/send.c (100%) rename lib/{libsys => libc/sys}/sendmsg.c (100%) rename lib/{libsys => libc/sys}/sendto.c (100%) rename lib/{libsys => libc/sys}/setcontext.c (100%) rename lib/{libsys => libc/sys}/shm_open.c (100%) rename lib/{libsys => libc/sys}/sigaction.c (100%) rename lib/{libsys => libc/sys}/sigprocmask.c (100%) rename lib/{libsys => libc/sys}/sigsuspend.c (100%) rename lib/{libsys => libc/sys}/sigtimedwait.c (100%) rename lib/{libsys => libc/sys}/sigwait.c (100%) rename lib/{libsys => libc/sys}/sigwaitinfo.c (100%) rename lib/{libsys => libc/sys}/stat.c (100%) rename lib/{libsys => libc/sys}/swapcontext.c (100%) rename lib/{libsys => libc/sys}/vadvise.c (100%) rename lib/{libsys => libc/sys}/wait.c (100%) rename lib/{libsys => libc/sys}/wait3.c (100%) rename lib/{libsys => libc/sys}/wait4.c (100%) rename lib/{libsys => libc/sys}/wait6.c (100%) rename lib/{libsys => libc/sys}/waitid.c (100%) rename lib/{libsys => libc/sys}/waitpid.c (100%) rename lib/{libsys => libc/sys}/write.c (100%) rename lib/{libsys => libc/sys}/writev.c (100%) delete mode 100644 lib/libsys/powerpc/Symbol.sys.map delete mode 100644 lib/libsys/powerpc64/Symbol.sys.map diff --git a/lib/libc/Makefile b/lib/libc/Makefile index aa6a737002c..674986a7e06 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -122,8 +122,7 @@ NOASM= .include "${LIBC_SRCTOP}/stdlib/Makefile.inc" .include "${LIBC_SRCTOP}/stdtime/Makefile.inc" .include "${LIBC_SRCTOP}/string/Makefile.inc" -SHARED_CFLAGS+= -D'_SYSCALL_BODY(name)=' -.include "${LIBSYS_SRCTOP}/Makefile.sys" +.include "${LIBC_SRCTOP}/sys/Makefile.inc" .include "${LIBC_SRCTOP}/secure/Makefile.inc" .include "${LIBC_SRCTOP}/rpc/Makefile.inc" .include "${LIBC_SRCTOP}/uuid/Makefile.inc" diff --git a/lib/libc/amd64/Symbol.map b/lib/libc/amd64/Symbol.map index 2fc723102f9..36f54de24fb 100644 --- a/lib/libc/amd64/Symbol.map +++ b/lib/libc/amd64/Symbol.map @@ -6,6 +6,7 @@ FBSD_1.0 { .mcount; __flt_rounds; + brk; fpgetmask; fpgetprec; fpgetround; @@ -13,6 +14,7 @@ FBSD_1.0 { fpsetmask; fpsetprec; fpsetround; + sbrk; }; /* @@ -26,4 +28,5 @@ FBSDprivate_1.0 { __signalcontext; signalcontext; __siglongjmp; + _brk; }; diff --git a/lib/libc/arm/Symbol.map b/lib/libc/arm/Symbol.map index ac5a7184b2a..d8a62c36751 100644 --- a/lib/libc/arm/Symbol.map +++ b/lib/libc/arm/Symbol.map @@ -6,6 +6,8 @@ FBSD_1.0 { __mcount; alloca; + brk; + sbrk; }; FBSD_1.3 { @@ -23,6 +25,7 @@ FBSD_1.6 { }; FBSDprivate_1.0 { + _brk; __aeabi_read_tp; ___longjmp; __longjmp; diff --git a/lib/libc/i386/Symbol.map b/lib/libc/i386/Symbol.map index 2278db54c58..d7961009417 100644 --- a/lib/libc/i386/Symbol.map +++ b/lib/libc/i386/Symbol.map @@ -5,8 +5,10 @@ */ FBSD_1.0 { .mcount; + brk; __flt_rounds; ___tls_get_addr; + sbrk; }; FBSDprivate_1.0 { @@ -15,4 +17,5 @@ FBSDprivate_1.0 { __signalcontext; signalcontext; __siglongjmp; + _brk; }; diff --git a/lib/libc/powerpc/Symbol.map b/lib/libc/powerpc/Symbol.map index 0996b79369f..f836a08ae0d 100644 --- a/lib/libc/powerpc/Symbol.map +++ b/lib/libc/powerpc/Symbol.map @@ -6,11 +6,13 @@ FBSD_1.0 { _mcount; __flt_rounds; + brk; fpgetmask; fpgetround; fpgetsticky; fpsetmask; fpsetround; + sbrk; }; FBSD_1.3 { diff --git a/lib/libc/powerpc64/Symbol.map b/lib/libc/powerpc64/Symbol.map index edccb69e960..62f20e7f352 100644 --- a/lib/libc/powerpc64/Symbol.map +++ b/lib/libc/powerpc64/Symbol.map @@ -6,9 +6,11 @@ FBSD_1.0 { _mcount; __flt_rounds; + brk; fpgetmask; fpgetround; fpgetsticky; fpsetmask; fpsetround; + sbrk; }; diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc new file mode 100644 index 00000000000..ee761ce5ff5 --- /dev/null +++ b/lib/libc/sys/Makefile.inc @@ -0,0 +1,38 @@ +# libc-specific portion of the system call interface + +.PATH: ${LIBC_SRCTOP}/sys + +# Most of the implementation is shared with libsys: +.include "${LIBSYS_SRCTOP}/Makefile.sys" + +# emit empty assembly stubs for syscalls in dynamic libc +SHARED_CFLAGS+= -D'_SYSCALL_BODY(name)=' + +SYM_MAPS+= ${LIBC_SRCTOP}/sys/Symbol.map + +# Add the interposer wrappers +SRCS+= ${INTERPOSED:S/$/.c/} + +# Pseudo system calls implemented atop other interfaces. +SRCS+= \ + POSIX2x_Fork.c \ + brk.c \ + closefrom.c \ + compat-stub.c \ + creat.c \ + getdents.c \ + lockf.c \ + lstat.c \ + mknod.c \ + pipe.c \ + recv.c \ + recvmmsg.c \ + send.c \ + sendmmsg.c \ + shm_open.c \ + stat.c \ + vadvise.c \ + wait.c \ + wait3.c \ + waitid.c \ + waitpid.c diff --git a/lib/libsys/POSIX2x_Fork.c b/lib/libc/sys/POSIX2x_Fork.c similarity index 100% rename from lib/libsys/POSIX2x_Fork.c rename to lib/libc/sys/POSIX2x_Fork.c diff --git a/lib/libc/sys/Symbol.map b/lib/libc/sys/Symbol.map new file mode 100644 index 00000000000..32b1b0ecee0 --- /dev/null +++ b/lib/libc/sys/Symbol.map @@ -0,0 +1,73 @@ +FBSD_1.0 { + accept; + aio_suspend; + close; + connect; + fcntl; + fork; + fsync; + msync; + nanosleep; + open; + pipe; + poll; + pselect; + ptrace; + read; + readv; + recvfrom; + recvmsg; + select; + sendmsg; + sendto; + shm_open; + sigaction; + sigprocmask; + sigsuspend; + sigtimedwait; + sigwait; + sigwaitinfo; + vadvise; + wait4; + write; + writev; +}; + +FBSD_1.1 { + closefrom; +}; + +FBSD_1.2 { + pdfork; +}; + +FBSD_1.3 { + accept4; + wait6; +}; + +FBSD_1.4 { + ppoll; + numa_setaffinity; + numa_getaffinity; + sendmmsg; + recvmmsg; +}; + +FBSD_1.5 { + clock_nanosleep; + fdatasync; + getdents; + kevent; + lstat; + mknod; + stat; +}; + +FBSD_1.6 { + shm_create_largepage; +}; + +FBSD_1.7 { + _Fork; +}; diff --git a/lib/libsys/accept.c b/lib/libc/sys/accept.c similarity index 100% rename from lib/libsys/accept.c rename to lib/libc/sys/accept.c diff --git a/lib/libsys/accept4.c b/lib/libc/sys/accept4.c similarity index 100% rename from lib/libsys/accept4.c rename to lib/libc/sys/accept4.c diff --git a/lib/libsys/aio_suspend.c b/lib/libc/sys/aio_suspend.c similarity index 100% rename from lib/libsys/aio_suspend.c rename to lib/libc/sys/aio_suspend.c diff --git a/lib/libsys/brk.c b/lib/libc/sys/brk.c similarity index 100% rename from lib/libsys/brk.c rename to lib/libc/sys/brk.c diff --git a/lib/libsys/clock_nanosleep.c b/lib/libc/sys/clock_nanosleep.c similarity index 100% rename from lib/libsys/clock_nanosleep.c rename to lib/libc/sys/clock_nanosleep.c diff --git a/lib/libsys/close.c b/lib/libc/sys/close.c similarity index 100% rename from lib/libsys/close.c rename to lib/libc/sys/close.c diff --git a/lib/libsys/closefrom.c b/lib/libc/sys/closefrom.c similarity index 100% rename from lib/libsys/closefrom.c rename to lib/libc/sys/closefrom.c diff --git a/lib/libsys/compat-stub.c b/lib/libc/sys/compat-stub.c similarity index 100% rename from lib/libsys/compat-stub.c rename to lib/libc/sys/compat-stub.c diff --git a/lib/libsys/connect.c b/lib/libc/sys/connect.c similarity index 100% rename from lib/libsys/connect.c rename to lib/libc/sys/connect.c diff --git a/lib/libsys/creat.c b/lib/libc/sys/creat.c similarity index 100% rename from lib/libsys/creat.c rename to lib/libc/sys/creat.c diff --git a/lib/libsys/fcntl.c b/lib/libc/sys/fcntl.c similarity index 100% rename from lib/libsys/fcntl.c rename to lib/libc/sys/fcntl.c diff --git a/lib/libsys/fdatasync.c b/lib/libc/sys/fdatasync.c similarity index 100% rename from lib/libsys/fdatasync.c rename to lib/libc/sys/fdatasync.c diff --git a/lib/libsys/fork.c b/lib/libc/sys/fork.c similarity index 100% rename from lib/libsys/fork.c rename to lib/libc/sys/fork.c diff --git a/lib/libsys/fsync.c b/lib/libc/sys/fsync.c similarity index 100% rename from lib/libsys/fsync.c rename to lib/libc/sys/fsync.c diff --git a/lib/libsys/getdents.c b/lib/libc/sys/getdents.c similarity index 100% rename from lib/libsys/getdents.c rename to lib/libc/sys/getdents.c diff --git a/lib/libsys/kevent.c b/lib/libc/sys/kevent.c similarity index 100% rename from lib/libsys/kevent.c rename to lib/libc/sys/kevent.c diff --git a/lib/libsys/lockf.c b/lib/libc/sys/lockf.c similarity index 100% rename from lib/libsys/lockf.c rename to lib/libc/sys/lockf.c diff --git a/lib/libsys/lstat.c b/lib/libc/sys/lstat.c similarity index 100% rename from lib/libsys/lstat.c rename to lib/libc/sys/lstat.c diff --git a/lib/libsys/mknod.c b/lib/libc/sys/mknod.c similarity index 100% rename from lib/libsys/mknod.c rename to lib/libc/sys/mknod.c diff --git a/lib/libsys/msync.c b/lib/libc/sys/msync.c similarity index 100% rename from lib/libsys/msync.c rename to lib/libc/sys/msync.c diff --git a/lib/libsys/nanosleep.c b/lib/libc/sys/nanosleep.c similarity index 100% rename from lib/libsys/nanosleep.c rename to lib/libc/sys/nanosleep.c diff --git a/lib/libsys/open.c b/lib/libc/sys/open.c similarity index 100% rename from lib/libsys/open.c rename to lib/libc/sys/open.c diff --git a/lib/libsys/openat.c b/lib/libc/sys/openat.c similarity index 100% rename from lib/libsys/openat.c rename to lib/libc/sys/openat.c diff --git a/lib/libsys/pdfork.c b/lib/libc/sys/pdfork.c similarity index 100% rename from lib/libsys/pdfork.c rename to lib/libc/sys/pdfork.c diff --git a/lib/libsys/pipe.c b/lib/libc/sys/pipe.c similarity index 100% rename from lib/libsys/pipe.c rename to lib/libc/sys/pipe.c diff --git a/lib/libsys/poll.c b/lib/libc/sys/poll.c similarity index 100% rename from lib/libsys/poll.c rename to lib/libc/sys/poll.c diff --git a/lib/libsys/ppoll.c b/lib/libc/sys/ppoll.c similarity index 100% rename from lib/libsys/ppoll.c rename to lib/libc/sys/ppoll.c diff --git a/lib/libsys/pselect.c b/lib/libc/sys/pselect.c similarity index 100% rename from lib/libsys/pselect.c rename to lib/libc/sys/pselect.c diff --git a/lib/libsys/read.c b/lib/libc/sys/read.c similarity index 100% rename from lib/libsys/read.c rename to lib/libc/sys/read.c diff --git a/lib/libsys/readv.c b/lib/libc/sys/readv.c similarity index 100% rename from lib/libsys/readv.c rename to lib/libc/sys/readv.c diff --git a/lib/libsys/recv.c b/lib/libc/sys/recv.c similarity index 100% rename from lib/libsys/recv.c rename to lib/libc/sys/recv.c diff --git a/lib/libsys/recvfrom.c b/lib/libc/sys/recvfrom.c similarity index 100% rename from lib/libsys/recvfrom.c rename to lib/libc/sys/recvfrom.c diff --git a/lib/libsys/recvmsg.c b/lib/libc/sys/recvmsg.c similarity index 100% rename from lib/libsys/recvmsg.c rename to lib/libc/sys/recvmsg.c diff --git a/lib/libsys/select.c b/lib/libc/sys/select.c similarity index 100% rename from lib/libsys/select.c rename to lib/libc/sys/select.c diff --git a/lib/libsys/send.c b/lib/libc/sys/send.c similarity index 100% rename from lib/libsys/send.c rename to lib/libc/sys/send.c diff --git a/lib/libsys/sendmsg.c b/lib/libc/sys/sendmsg.c similarity index 100% rename from lib/libsys/sendmsg.c rename to lib/libc/sys/sendmsg.c diff --git a/lib/libsys/sendto.c b/lib/libc/sys/sendto.c similarity index 100% rename from lib/libsys/sendto.c rename to lib/libc/sys/sendto.c diff --git a/lib/libsys/setcontext.c b/lib/libc/sys/setcontext.c similarity index 100% rename from lib/libsys/setcontext.c rename to lib/libc/sys/setcontext.c diff --git a/lib/libsys/shm_open.c b/lib/libc/sys/shm_open.c similarity index 100% rename from lib/libsys/shm_open.c rename to lib/libc/sys/shm_open.c diff --git a/lib/libsys/sigaction.c b/lib/libc/sys/sigaction.c similarity index 100% rename from lib/libsys/sigaction.c rename to lib/libc/sys/sigaction.c diff --git a/lib/libsys/sigprocmask.c b/lib/libc/sys/sigprocmask.c similarity index 100% rename from lib/libsys/sigprocmask.c rename to lib/libc/sys/sigprocmask.c diff --git a/lib/libsys/sigsuspend.c b/lib/libc/sys/sigsuspend.c similarity index 100% rename from lib/libsys/sigsuspend.c rename to lib/libc/sys/sigsuspend.c diff --git a/lib/libsys/sigtimedwait.c b/lib/libc/sys/sigtimedwait.c similarity index 100% rename from lib/libsys/sigtimedwait.c rename to lib/libc/sys/sigtimedwait.c diff --git a/lib/libsys/sigwait.c b/lib/libc/sys/sigwait.c similarity index 100% rename from lib/libsys/sigwait.c rename to lib/libc/sys/sigwait.c diff --git a/lib/libsys/sigwaitinfo.c b/lib/libc/sys/sigwaitinfo.c similarity index 100% rename from lib/libsys/sigwaitinfo.c rename to lib/libc/sys/sigwaitinfo.c diff --git a/lib/libsys/stat.c b/lib/libc/sys/stat.c similarity index 100% rename from lib/libsys/stat.c rename to lib/libc/sys/stat.c diff --git a/lib/libsys/swapcontext.c b/lib/libc/sys/swapcontext.c similarity index 100% rename from lib/libsys/swapcontext.c rename to lib/libc/sys/swapcontext.c diff --git a/lib/libsys/vadvise.c b/lib/libc/sys/vadvise.c similarity index 100% rename from lib/libsys/vadvise.c rename to lib/libc/sys/vadvise.c diff --git a/lib/libsys/wait.c b/lib/libc/sys/wait.c similarity index 100% rename from lib/libsys/wait.c rename to lib/libc/sys/wait.c diff --git a/lib/libsys/wait3.c b/lib/libc/sys/wait3.c similarity index 100% rename from lib/libsys/wait3.c rename to lib/libc/sys/wait3.c diff --git a/lib/libsys/wait4.c b/lib/libc/sys/wait4.c similarity index 100% rename from lib/libsys/wait4.c rename to lib/libc/sys/wait4.c diff --git a/lib/libsys/wait6.c b/lib/libc/sys/wait6.c similarity index 100% rename from lib/libsys/wait6.c rename to lib/libc/sys/wait6.c diff --git a/lib/libsys/waitid.c b/lib/libc/sys/waitid.c similarity index 100% rename from lib/libsys/waitid.c rename to lib/libc/sys/waitid.c diff --git a/lib/libsys/waitpid.c b/lib/libc/sys/waitpid.c similarity index 100% rename from lib/libsys/waitpid.c rename to lib/libc/sys/waitpid.c diff --git a/lib/libsys/write.c b/lib/libc/sys/write.c similarity index 100% rename from lib/libsys/write.c rename to lib/libc/sys/write.c diff --git a/lib/libsys/writev.c b/lib/libc/sys/writev.c similarity index 100% rename from lib/libsys/writev.c rename to lib/libc/sys/writev.c diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys index e798a94e4ae..98a9688e58a 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -40,21 +40,6 @@ SRCS+= \ interposing_table.c \ libsys_sigwait.c -SRCS+= getdents.c lstat.c mknod.c stat.c - -SRCS+= creat.c -SRCS+= lockf.c wait.c wait3.c waitpid.c waitid.c -SRCS+= recv.c recvmmsg.c send.c sendmmsg.c - -SRCS+= brk.c -SRCS+= closefrom.c -SRCS+= pipe.c -SRCS+= shm_open.c -SRCS+= vadvise.c -SRCS+= POSIX2x_Fork.c - -SRCS+= compat-stub.c - .if ${LIB} == "c" # Trapping stubs in dynamic libc to be filtered by libsys. SOBJS+= libc_stubs.pico @@ -113,7 +98,6 @@ INTERPOSED = \ write \ writev -SRCS+= ${INTERPOSED:S/$/.c/} PSEUDO+= ${INTERPOSED} # Add machine dependent asm sources: diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index fa27dc95aea..8d68d23686a 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -33,7 +33,6 @@ FBSD_1.0 { _exit; _umtx_op; abort2; - accept; access; acct; adjtime; @@ -42,7 +41,6 @@ FBSD_1.0 { aio_fsync; aio_read; aio_return; - aio_suspend; aio_waitcomplete; aio_write; audit; @@ -57,8 +55,6 @@ FBSD_1.0 { clock_getres; clock_gettime; clock_settime; - close; - connect; dup; dup2; eaccess; @@ -81,12 +77,9 @@ FBSD_1.0 { fchflags; fchmod; fchown; - fcntl; fhopen; flock; - fork; fpathconf; - fsync; futimes; getaudit; getaudit_addr; @@ -173,32 +166,21 @@ FBSD_1.0 { msgrcv; msgsnd; msgsys; - msync; munlock; munlockall; munmap; - nanosleep; nfssvc; nmount; ntp_adjtime; ntp_gettime; - open; pathconf; - pipe; - poll; posix_openpt; preadv; profil; - pselect; - ptrace; pwritev; quotactl; - read; readlink; - readv; reboot; - recvfrom; - recvmsg; rename; revoke; rfork; @@ -213,13 +195,10 @@ FBSD_1.0 { sched_setparam; sched_setscheduler; sched_yield; - select; semget; semop; semsys; sendfile; - sendmsg; - sendto; setaudit; setaudit_addr; setauid; @@ -240,23 +219,16 @@ FBSD_1.0 { setsockopt; settimeofday; setuid; - shm_open; shm_unlink; shmat; shmdt; shmget; shmsys; shutdown; - sigaction; sigaltstack; sigpending; - sigprocmask; sigqueue; sigreturn; - sigsuspend; - sigtimedwait; - sigwait; - sigwaitinfo; socket; socketpair; swapon; @@ -285,11 +257,7 @@ FBSD_1.0 { utimes; utrace; uuidgen; - vadvise; vfork; - wait4; - write; - writev; __error; ftruncate; @@ -302,7 +270,6 @@ FBSD_1.0 { FBSD_1.1 { __semctl; - closefrom; cpuset; cpuset_getid; cpuset_setid; @@ -334,7 +301,6 @@ FBSD_1.2 { cap_getmode; getloginclass; getpagesizes; - pdfork; pdgetpid; pdkill; posix_fallocate; @@ -347,7 +313,6 @@ FBSD_1.2 { }; FBSD_1.3 { - accept4; aio_mlock; bindat; cap_fcntls_get; @@ -365,37 +330,24 @@ FBSD_1.3 { pipe2; posix_fadvise; procctl; - wait6; }; FBSD_1.4 { futimens; - ppoll; utimensat; - numa_setaffinity; - numa_getaffinity; - sendmmsg; - recvmmsg; }; FBSD_1.5 { - clock_nanosleep; elf_aux_info; - fdatasync; fhstat; fhstatfs; fstat; fstatat; fstatfs; - getdents; getdirentries; getfsstat; getrandom; - kevent; - lstat; - mknod; mknodat; - stat; statfs; cpuset_getdomain; cpuset_setdomain; @@ -412,12 +364,10 @@ FBSD_1.6 { fhreadlink; getfhat; funlinkat; - shm_create_largepage; shm_rename; }; FBSD_1.7 { - _Fork; fspacectl; kqueuex; membarrier; diff --git a/lib/libsys/amd64/Symbol.sys.map b/lib/libsys/amd64/Symbol.sys.map index 5e0714aef35..5f463c85f87 100644 --- a/lib/libsys/amd64/Symbol.sys.map +++ b/lib/libsys/amd64/Symbol.sys.map @@ -4,8 +4,6 @@ FBSD_1.0 { amd64_get_gsbase; amd64_set_fsbase; amd64_set_gsbase; - brk; - sbrk; }; FBSD_1.6 { @@ -15,12 +13,6 @@ FBSD_1.6 { x86_pkru_unprotect_range; }; -/* - * - * FreeBSD private ABI - * - */ FBSDprivate_1.0 { - _brk; _vfork; }; diff --git a/lib/libsys/arm/Symbol.sys.map b/lib/libsys/arm/Symbol.sys.map index 179889b6083..a9445ae7ba2 100644 --- a/lib/libsys/arm/Symbol.sys.map +++ b/lib/libsys/arm/Symbol.sys.map @@ -1,10 +1,3 @@ -FBSD_1.0 { - brk; - sbrk; -}; - FBSDprivate_1.0 { _vfork; - _brk; - _sbrk; }; diff --git a/lib/libsys/i386/Symbol.sys.map b/lib/libsys/i386/Symbol.sys.map index 7d8c4ef61c1..30380493543 100644 --- a/lib/libsys/i386/Symbol.sys.map +++ b/lib/libsys/i386/Symbol.sys.map @@ -1,6 +1,5 @@ FBSD_1.0 { rfork_thread; - brk; i386_clr_watch; i386_get_fsbase; i386_get_gsbase; @@ -12,7 +11,6 @@ FBSD_1.0 { i386_set_ldt; i386_set_watch; i386_vm86; - sbrk; }; FBSD_1.6 { @@ -24,5 +22,4 @@ FBSD_1.6 { FBSDprivate_1.0 { _vfork; - _brk; }; diff --git a/lib/libsys/powerpc/Symbol.sys.map b/lib/libsys/powerpc/Symbol.sys.map deleted file mode 100644 index f241c4ed098..00000000000 --- a/lib/libsys/powerpc/Symbol.sys.map +++ /dev/null @@ -1,4 +0,0 @@ -FBSD_1.0 { - brk; - sbrk; -}; diff --git a/lib/libsys/powerpc64/Symbol.sys.map b/lib/libsys/powerpc64/Symbol.sys.map deleted file mode 100644 index f241c4ed098..00000000000 --- a/lib/libsys/powerpc64/Symbol.sys.map +++ /dev/null @@ -1,4 +0,0 @@ -FBSD_1.0 { - brk; - sbrk; -};