diff --git a/lib/libc/Makefile b/lib/libc/Makefile index aa6a737002c4..674986a7e065 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -1,225 +1,224 @@ PACKAGE= clibs SHLIBDIR?= /lib .include LIBC_SRCTOP?= ${.CURDIR} LIBSYS_SRCTOP?= ${.CURDIR:H}/libsys # Pick the current architecture directory for libc. In general, this is named # MACHINE_CPUARCH, but some ABIs are different enough to require their own libc, # so allow a directory named MACHINE_ARCH to override this (though treat # powerpc64le and powerpc64 the same). # Note: This is copied to msun/Makefile M=${MACHINE_ARCH:S/powerpc64le/powerpc64/} .if exists(${LIBC_SRCTOP}/${M}) LIBC_ARCH=${M} .else LIBC_ARCH=${MACHINE_CPUARCH} .endif # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does # not contain these strings, add -DSTRIP_FBSDID (see ) to CFLAGS # below. Note: there are no IDs for syscall stubs whose sources are generated. # To include legacy CSRG SCCS ID strings, remove -DNO__SCCSID from CFLAGS. # To include RCS ID strings from other BSD projects, remove -DNO__RCSID from CFLAGS. CFLAGS+=-DNO__SCCSID -DNO__RCSID LIB=c SHLIB_MAJOR= 7 .if ${MK_SSP} != "no" && \ (${LIBC_ARCH} == "i386" || ${LIBC_ARCH:Mpowerpc*} != "") SHLIB_LDSCRIPT=libc.ldscript .else SHLIB_LDSCRIPT=libc_nossp.ldscript .endif SHLIB_LDSCRIPT_LINKS=libxnet.so WARNS?= 2 CFLAGS+=-I${LIBC_SRCTOP}/include -I${SRCTOP}/include CFLAGS+=-I${LIBC_SRCTOP}/${LIBC_ARCH} CFLAGS+=-I${LIBSYS_SRCTOP}/${LIBC_ARCH} .if ${MK_NLS} != "no" CFLAGS+=-DNLS .endif CLEANFILES+=tags INSTALL_PIC_ARCHIVE= BUILD_NOSSP_PIC_ARCHIVE= PRECIOUSLIB= .ifndef NO_THREAD_STACK_UNWIND CANCELPOINTS_CFLAGS=-fexceptions CFLAGS+=${CANCELPOINTS_CFLAGS} .endif # Use a more efficient TLS model for libc since we can reasonably assume that # it will be loaded during program startup. CFLAGS+= -ftls-model=initial-exec # # Link with static libcompiler_rt.a. # LDFLAGS+= -nodefaultlibs LIBADD+= compiler_rt LIBADD+= sys .if defined(COMPAT_libcompat) # XXX: work around gcc -m32 + bfd ld path issue for DT_NEEDED symbols. # https://sourceware.org/bugzilla/show_bug.cgi?id=31395 LDFLAGS+= -Wl,--rpath=/usr/lib${COMPAT_libcompat} .endif LDFLAGS+=-Wl,--auxiliary,libsys.so.7 .if ${MK_SSP} != "no" && \ (${LIBC_ARCH} == "i386" || ${LIBC_ARCH:Mpowerpc*} != "") LIBADD+= ssp_nonshared .endif # Extras that live in either libc.a or libc_nonshared.a LIBC_NONSHARED_SRCS= RTLD_ELF_DIR=${SRCTOP}/libexec/rtld-elf .if exists(${RTLD_ELF_DIR}/${MACHINE_ARCH:S/powerpc64le/powerpc64/}) RTLD_ARCH= ${MACHINE_ARCH:S/powerpc64le/powerpc64/} .else RTLD_ARCH= ${MACHINE_CPUARCH} .endif RTLD_HDRS= -I${RTLD_ELF_DIR}/${RTLD_ARCH} -I${RTLD_ELF_DIR} # Define (empty) variables so that make doesn't give substitution # errors if the included makefiles don't change these: MDSRCS= MISRCS= MDASM= MIASM= NOASM= .include "${LIBC_SRCTOP}/${LIBC_ARCH}/Makefile.inc" .include "${LIBC_SRCTOP}/csu/Makefile.inc" .include "${LIBC_SRCTOP}/db/Makefile.inc" .include "${LIBC_SRCTOP}/compat-43/Makefile.inc" .include "${LIBC_SRCTOP}/gdtoa/Makefile.inc" .include "${LIBC_SRCTOP}/gen/Makefile.inc" .include "${LIBC_SRCTOP}/gmon/Makefile.inc" .if ${MK_ICONV} != "no" .include "${LIBC_SRCTOP}/iconv/Makefile.inc" .endif .include "${LIBC_SRCTOP}/inet/Makefile.inc" .include "${LIBC_SRCTOP}/isc/Makefile.inc" .include "${LIBC_SRCTOP}/locale/Makefile.inc" .include "${LIBC_SRCTOP}/md/Makefile.inc" .include "${LIBC_SRCTOP}/nameser/Makefile.inc" .include "${LIBC_SRCTOP}/net/Makefile.inc" .include "${LIBC_SRCTOP}/nls/Makefile.inc" .include "${LIBC_SRCTOP}/posix1e/Makefile.inc" .if ${MACHINE_ABI:Mlong32} .include "${LIBC_SRCTOP}/quad/Makefile.inc" .endif .include "${LIBC_SRCTOP}/regex/Makefile.inc" .include "${LIBC_SRCTOP}/resolv/Makefile.inc" .include "${LIBC_SRCTOP}/stdio/Makefile.inc" .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" .include "${LIBC_SRCTOP}/xdr/Makefile.inc" .if (${LIBC_ARCH} == "arm" && (defined(CPUTYPE) && ${CPUTYPE:M*soft*})) .include "${LIBC_SRCTOP}/softfloat/Makefile.inc" .endif .if ${LIBC_ARCH} == "i386" || ${LIBC_ARCH} == "amd64" .include "${LIBC_SRCTOP}/x86/gen/Makefile.inc" .endif .if ${MK_NIS} != "no" CFLAGS+= -DYP .include "${LIBC_SRCTOP}/yp/Makefile.inc" .endif .include "${LIBC_SRCTOP}/capability/Makefile.inc" .if ${MK_HESIOD} != "no" CFLAGS+= -DHESIOD .endif .if ${MK_FP_LIBC} == "no" CFLAGS+= -DNO_FLOATING_POINT .endif .if ${MK_NS_CACHING} != "no" CFLAGS+= -DNS_CACHING .endif .if defined(_FREEFALL_CONFIG) CFLAGS+=-D_FREEFALL_CONFIG .endif STATICOBJS+=${LIBC_NONSHARED_SRCS:S/.c$/.o/} VERSION_DEF=${LIBC_SRCTOP}/Versions.def SYMBOL_MAPS=${SYM_MAPS} # If there are no machine dependent sources, append all the # machine-independent sources: .if empty(MDSRCS) || ${MK_MACHDEP_OPTIMIZATIONS} == no SRCS+= ${MISRCS} .else # Append machine-dependent sources, then append machine-independent sources # for which there is no machine-dependent variant. SRCS+= ${MDSRCS} .for _src in ${MISRCS} .if ${MDSRCS:R:M${_src:R}} == "" SRCS+= ${_src} .endif .endfor .endif KQSRCS= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c divdi3.c iordi3.c \ lshldi3.c lshrdi3.c moddi3.c muldi3.c negdi2.c notdi2.c qdivrem.c \ subdi3.c ucmpdi2.c udivdi3.c umoddi3.c xordi3.c KSRCS= bcmp.c ffs.c ffsl.c fls.c flsl.c mcount.c strcat.c strchr.c \ strcmp.c strcpy.c strlen.c strncpy.c strrchr.c libkern: libkern.gen libkern.${LIBC_ARCH} libkern.gen: ${KQSRCS} ${KSRCS} ${CP} ${LIBC_SRCTOP}/quad/quad.h ${.ALLSRC} ${DESTDIR}/sys/libkern libkern.${LIBC_ARCH}:: ${KMSRCS} .if defined(KMSRCS) && !empty(KMSRCS) ${CP} ${.ALLSRC} ${DESTDIR}/sys/libkern/${LIBC_ARCH} .endif HAS_TESTS= SUBDIR.${MK_TESTS}+= tests .include .if (${LIBC_ARCH} == amd64 || ${LIBC_ARCH} == i386) && \ ${.TARGETS:Mall} == all && \ defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mifunc} == "" .error ${LIBC_ARCH} libc requires linker ifunc support .endif .if !defined(_SKIP_BUILD) # We need libutil.h, get it directly to avoid # recording a build dependency CFLAGS+= -I${SRCTOP}/lib/libutil # Same issue with libm MSUN_ARCH_SUBDIR != ${MAKE} -B -C ${SRCTOP}/lib/msun -V ARCH_SUBDIR # unfortunately msun/src contains both private and public headers CFLAGS+= -I${SRCTOP}/lib/msun/${MSUN_ARCH_SUBDIR} .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" CFLAGS+= -I${SRCTOP}/lib/msun/x86 .endif CFLAGS+= -I${SRCTOP}/lib/msun/src # and we do not want to record a dependency on msun .if ${.MAKE.LEVEL} > 0 GENDIRDEPS_FILTER+= N${RELDIR:H}/msun .endif .endif # Disable warnings in contributed sources. CWARNFLAGS:= ${.IMPSRC:Ngdtoa_*.c:C/^.+$/${CWARNFLAGS}/:C/^$/-w/} # Disable stack protection for SSP symbols. SSP_CFLAGS:= ${.IMPSRC:N*/stack_protector.c:C/^.+$/${SSP_CFLAGS}/} # Generate stack unwinding tables for cancellation points CANCELPOINTS_CFLAGS:= ${.IMPSRC:Mcancelpoints_*:C/^.+$/${CANCELPOINTS_CFLAGS}/:C/^$//} diff --git a/lib/libc/amd64/Symbol.map b/lib/libc/amd64/Symbol.map index 2fc723102f90..36f54de24fbd 100644 --- a/lib/libc/amd64/Symbol.map +++ b/lib/libc/amd64/Symbol.map @@ -1,29 +1,32 @@ /* * This only needs to contain symbols that are not listed in * symbol maps from other parts of libc (i.e., not found in * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...). */ FBSD_1.0 { .mcount; __flt_rounds; + brk; fpgetmask; fpgetprec; fpgetround; fpgetsticky; fpsetmask; fpsetprec; fpsetround; + sbrk; }; /* * * FreeBSD private ABI * */ FBSDprivate_1.0 { ___longjmp; __longjmp; __signalcontext; signalcontext; __siglongjmp; + _brk; }; diff --git a/lib/libc/arm/Symbol.map b/lib/libc/arm/Symbol.map index ac5a7184b2a1..d8a62c367514 100644 --- a/lib/libc/arm/Symbol.map +++ b/lib/libc/arm/Symbol.map @@ -1,34 +1,37 @@ /* * This only needs to contain symbols that are not listed in * symbol maps from other parts of libc (i.e., not found in * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...). */ FBSD_1.0 { __mcount; alloca; + brk; + sbrk; }; FBSD_1.3 { __flt_rounds; }; FBSD_1.4 { __gnu_Unwind_Find_exidx; dl_unwind_find_exidx; }; FBSD_1.6 { arm_drain_writebuf; arm_sync_icache; }; FBSDprivate_1.0 { + _brk; __aeabi_read_tp; ___longjmp; __longjmp; signalcontext; _signalcontext; __siglongjmp; _libc_arm_fpu_present; }; diff --git a/lib/libc/i386/Symbol.map b/lib/libc/i386/Symbol.map index 2278db54c583..d7961009417e 100644 --- a/lib/libc/i386/Symbol.map +++ b/lib/libc/i386/Symbol.map @@ -1,18 +1,21 @@ /* * This only needs to contain symbols that are not listed in * symbol maps from other parts of libc (i.e., not found in * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...). */ FBSD_1.0 { .mcount; + brk; __flt_rounds; ___tls_get_addr; + sbrk; }; FBSDprivate_1.0 { ___longjmp; __longjmp; __signalcontext; signalcontext; __siglongjmp; + _brk; }; diff --git a/lib/libc/powerpc/Symbol.map b/lib/libc/powerpc/Symbol.map index 0996b79369f3..f836a08ae0d4 100644 --- a/lib/libc/powerpc/Symbol.map +++ b/lib/libc/powerpc/Symbol.map @@ -1,26 +1,28 @@ /* * This only needs to contain symbols that are not listed in * symbol maps from other parts of libc (i.e., not found in * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...). */ FBSD_1.0 { _mcount; __flt_rounds; + brk; fpgetmask; fpgetround; fpgetsticky; fpsetmask; fpsetround; + sbrk; }; FBSD_1.3 { __eabi; }; FBSDprivate_1.0 { _fpgetsticky; __longjmp; signalcontext; __signalcontext; __syncicache; }; diff --git a/lib/libc/powerpc64/Symbol.map b/lib/libc/powerpc64/Symbol.map index edccb69e960b..62f20e7f352c 100644 --- a/lib/libc/powerpc64/Symbol.map +++ b/lib/libc/powerpc64/Symbol.map @@ -1,14 +1,16 @@ /* * This only needs to contain symbols that are not listed in * symbol maps from other parts of libc (i.e., not found in * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...). */ 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 000000000000..ee761ce5ff55 --- /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 000000000000..32b1b0ecee05 --- /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 e798a94e4ae0..98a9688e58a1 100644 --- a/lib/libsys/Makefile.sys +++ b/lib/libsys/Makefile.sys @@ -1,560 +1,544 @@ # Implement symbols common to libc and libsys. # # When dynamically linked, the libc symbols are filtered by the actual # implementations in libsys. When statically linked, both libc and # libsys contain full implementations to preserve the API of libc.a. # # The following variable are programmer-defined: # # MDASM Override the default syscall implementation in MIASM # (from syscall.mk below). Each entry is a source file # name (e.g., vfork.S). # Generally defined in /Makefile.sys. # NOASM Don't generate system call stubs. Each entry is an # object file name (e.g., yeild.o). Don't add more of these. # PSEUDO Generate _ and __sys_ symbols, but not . # Each entry is a bare syscall name (e.g., "clock_gettime"). # INTERPOSED Like PSEUDO, but .c is added to SRCS. # Used for syscalls intercepted by the threading library. # .PATH: ${LIBSYS_SRCTOP}/${LIBC_ARCH} ${LIBSYS_SRCTOP} # Include the generated makefile containing the *complete* list # of syscall names in MIASM. .include "${SRCTOP}/sys/sys/syscall.mk" # Include machine dependent definitions. .include "${LIBSYS_SRCTOP}/${LIBC_ARCH}/Makefile.sys" .if ${LIBC_ARCH} == "i386" || ${LIBC_ARCH} == "amd64" .include "${LIBSYS_SRCTOP}/x86/Makefile.sys" .endif SRCS+= clock_gettime.c gettimeofday.c __vdso_gettimeofday.c # Sources common to both syscall interfaces: SRCS+= \ __error.c \ __getosreldate.c \ getpagesize.c \ getpagesizes.c \ 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 # Link the full implementation of ELF auxargs for static libc. STATICOBJS+= auxv.o .endif NOASM= yield.o PSEUDO= \ clock_gettime \ exit \ getlogin \ gettimeofday \ sched_getcpu INTERPOSED = \ accept \ accept4 \ aio_suspend \ clock_nanosleep \ close \ connect \ fcntl \ fdatasync \ fsync \ fork \ kevent \ msync \ nanosleep \ open \ openat \ pdfork \ poll \ ppoll \ pselect \ ptrace \ read \ readv \ recvfrom \ recvmsg \ select \ sendmsg \ sendto \ setcontext \ sigaction \ sigprocmask \ sigsuspend \ sigtimedwait \ sigwait \ sigwaitinfo \ swapcontext \ wait4 \ wait6 \ write \ writev -SRCS+= ${INTERPOSED:S/$/.c/} PSEUDO+= ${INTERPOSED} # Add machine dependent asm sources: SRCS+=${MDASM} # Look though the complete list of syscalls (MIASM) for names that are # not defined with machine dependent implementations (MDASM), not declared # without a trival symbol (PSEUDO). Add each syscall that satisfies # these conditions to the ASM list. .for _asm in ${MIASM} .if !${MDASM:R:M${_asm:R}} && !${NOASM:R:M${_asm:R}} && !${PSEUDO:M${_asm:R}} ASM+=$(_asm) .endif .endfor SASM= ${ASM:S/.o/.S/} SPSEUDO= ${PSEUDO:C/^.*$/_&.S/} SRCS+= ${SASM} ${SPSEUDO} SYM_MAPS+= ${LIBSYS_SRCTOP}/syscalls.map SYM_MAPS+= ${LIBSYS_SRCTOP}/Symbol.sys.map .if exists(${LIBSYS_SRCTOP}/${LIBC_ARCH}/Symbol.sys.map) SYM_MAPS+= ${LIBSYS_SRCTOP}/${LIBC_ARCH}/Symbol.sys.map .endif # Generated files CLEANFILES+= ${SASM} ${SPSEUDO} .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \ ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_CPUARCH} == "arm" NOTE_GNU_STACK='\t.section .note.GNU-stack,"",%%progbits\n' .else NOTE_GNU_STACK='' .endif .if ${MACHINE_CPUARCH} == "aarch64" FEATURE_NOTE='\#include \nGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL)\n' .else FEATURE_NOTE='' .endif ${SASM}: printf '/* %sgenerated by libc/sys/Makefile.inc */\n' @ > ${.TARGET} printf '#include "compat.h"\n' >> ${.TARGET} printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >> ${.TARGET} printf ${NOTE_GNU_STACK} >>${.TARGET} printf ${FEATURE_NOTE} >> ${.TARGET} ${SPSEUDO}: printf '/* %sgenerated by libc/sys/Makefile.inc */\n' @ > ${.TARGET} printf '#include "compat.h"\n' >> ${.TARGET} printf '#include "SYS.h"\nPSEUDO(${.PREFIX:S/_//})\n' \ >> ${.TARGET} printf ${NOTE_GNU_STACK} >>${.TARGET} printf ${FEATURE_NOTE} >> ${.TARGET} .if ${LIB} == "sys" MAN+= abort2.2 \ accept.2 \ access.2 \ acct.2 \ adjtime.2 \ aio_cancel.2 \ aio_error.2 \ aio_fsync.2 \ aio_mlock.2 \ aio_read.2 \ aio_return.2 \ aio_suspend.2 \ aio_waitcomplete.2 \ aio_write.2 \ auxv.3 \ bind.2 \ bindat.2 \ brk.2 \ cap_enter.2 \ cap_fcntls_limit.2 \ cap_ioctls_limit.2 \ cap_rights_limit.2 \ chdir.2 \ chflags.2 \ chmod.2 \ chown.2 \ chroot.2 \ clock_gettime.2 \ close.2 \ closefrom.2 \ connect.2 \ connectat.2 \ copy_file_range.2 \ cpuset.2 \ cpuset_getaffinity.2 \ cpuset_getdomain.2 \ creat.2 \ dup.2 \ eventfd.2 \ execve.2 \ _exit.2 \ extattr_get_file.2 \ fcntl.2 \ ffclock.2 \ fhlink.2 \ fhopen.2 \ fhreadlink.2 \ flock.2 \ fork.2 \ fspacectl.2 \ fsync.2 \ getdirentries.2 \ getdtablesize.2 \ getfh.2 \ getfsstat.2 \ getgid.2 \ getgroups.2 \ getitimer.2 \ getlogin.2 \ getloginclass.2 \ getpeername.2 \ getpgrp.2 \ getpid.2 \ getpriority.2 \ getrandom.2 \ getrlimit.2 \ getrusage.2 \ getsid.2 \ getsockname.2 \ getsockopt.2 \ gettimeofday.2 \ getuid.2 \ intro.2 \ ioctl.2 \ issetugid.2 \ jail.2 \ kcmp.2 \ kenv.2 \ kill.2 \ kldfind.2 \ kldfirstmod.2 \ kldload.2 \ kldnext.2 \ kldstat.2 \ kldsym.2 \ kldunload.2 \ kqueue.2 \ ktrace.2 \ link.2 \ lio_listio.2 \ listen.2 \ lseek.2 \ madvise.2 \ mincore.2 \ minherit.2 \ mkdir.2 \ mkfifo.2 \ mknod.2 \ mlock.2 \ mlockall.2 \ mmap.2 \ modfind.2 \ modnext.2 \ modstat.2 \ mount.2 \ mprotect.2 \ mq_close.2 \ mq_getattr.2 \ mq_notify.2 \ mq_open.2 \ mq_receive.2 \ mq_send.2 \ mq_setattr.2 \ mq_unlink.2 \ msgctl.2 \ msgget.2 \ msgrcv.2 \ msgsnd.2 \ msync.2 \ munmap.2 \ nanosleep.2 \ nfssvc.2 \ ntp_adjtime.2 \ open.2 \ pathconf.2 \ pdfork.2 \ pipe.2 \ poll.2 \ posix_fadvise.2 \ posix_fallocate.2 \ posix_openpt.2 \ procctl.2 \ profil.2 \ pselect.2 \ ptrace.2 \ quotactl.2 \ rctl_add_rule.2 \ read.2 \ readlink.2 \ reboot.2 \ recv.2 \ rename.2 \ revoke.2 \ rfork.2 \ rmdir.2 \ rtprio.2 \ sched_get_priority_max.2 \ sched_setparam.2 \ sched_setscheduler.2 \ sched_yield.2 \ sctp_generic_recvmsg.2 \ sctp_generic_sendmsg.2 \ sctp_peeloff.2 \ select.2 \ semctl.2 \ semget.2 \ semop.2 \ send.2 \ setfib.2 \ sendfile.2 \ setgroups.2 \ setpgid.2 \ setregid.2 \ setresuid.2 \ setreuid.2 \ setsid.2 \ setuid.2 \ shmat.2 \ shmctl.2 \ shmget.2 \ shm_open.2 \ shutdown.2 \ sigaction.2 \ sigaltstack.2 \ sigfastblock.2 \ sigpending.2 \ sigprocmask.2 \ sigqueue.2 \ sigreturn.2 \ sigstack.2 \ sigsuspend.2 \ sigwait.2 \ sigwaitinfo.2 \ socket.2 \ socketpair.2 \ stat.2 \ statfs.2 \ swapon.2 \ symlink.2 \ sync.2 \ sysarch.2 \ syscall.2 \ thr_exit.2 \ thr_kill.2 \ thr_new.2 \ thr_self.2 \ thr_set_name.2 \ thr_suspend.2 \ thr_wake.2 \ timer_create.2 \ timer_delete.2 \ timer_settime.2 \ timerfd.2 \ truncate.2 \ umask.2 \ undelete.2 \ unlink.2 \ utimensat.2 \ utimes.2 \ utrace.2 \ uuidgen.2 \ vfork.2 \ wait.2 \ write.2 \ _umtx_op.2 MAN+= \ getpagesize.3 \ getpagesizes.3 \ lockf.3 \ rfork_thread.3 \ sleep.3 \ usleep.3 MLINKS+=aio_read.2 aio_readv.2 \ aio_read.2 aio_read2.2 MLINKS+=aio_write.2 aio_writev.2 \ aio_write.2 aio_write2.2 MLINKS+=accept.2 accept4.2 MLINKS+=access.2 eaccess.2 \ access.2 faccessat.2 MLINKS+=auxv.3 elf_aux_info.3 MLINKS+=brk.2 sbrk.2 MLINKS+=cap_enter.2 cap_getmode.2 MLINKS+=cap_fcntls_limit.2 cap_fcntls_get.2 MLINKS+=cap_ioctls_limit.2 cap_ioctls_get.2 MLINKS+=chdir.2 fchdir.2 MLINKS+=chflags.2 chflagsat.2 \ chflags.2 fchflags.2 \ chflags.2 lchflags.2 MLINKS+=chmod.2 fchmod.2 \ chmod.2 fchmodat.2 \ chmod.2 lchmod.2 MLINKS+=chown.2 fchown.2 \ chown.2 fchownat.2 \ chown.2 lchown.2 MLINKS+=clock_gettime.2 clock_getres.2 \ clock_gettime.2 clock_settime.2 MLINKS+=closefrom.2 close_range.2 MLINKS+=nanosleep.2 clock_nanosleep.2 MLINKS+=cpuset.2 cpuset_getid.2 \ cpuset.2 cpuset_setid.2 MLINKS+=cpuset_getaffinity.2 cpuset_setaffinity.2 MLINKS+=cpuset_getdomain.2 cpuset_setdomain.2 MLINKS+=dup.2 dup2.2 MLINKS+=eventfd.2 eventfd_read.3 \ eventfd.2 eventfd_write.3 MLINKS+=execve.2 fexecve.2 MLINKS+=extattr_get_file.2 extattr.2 \ extattr_get_file.2 extattr_delete_fd.2 \ extattr_get_file.2 extattr_delete_file.2 \ extattr_get_file.2 extattr_delete_link.2 \ extattr_get_file.2 extattr_get_fd.2 \ extattr_get_file.2 extattr_get_link.2 \ extattr_get_file.2 extattr_list_fd.2 \ extattr_get_file.2 extattr_list_file.2 \ extattr_get_file.2 extattr_list_link.2 \ extattr_get_file.2 extattr_set_fd.2 \ extattr_get_file.2 extattr_set_file.2 \ extattr_get_file.2 extattr_set_link.2 MLINKS+=ffclock.2 ffclock_getcounter.2 \ ffclock.2 ffclock_getestimate.2 \ ffclock.2 ffclock_setestimate.2 MLINKS+=fhlink.2 fhlinkat.2 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2 MLINKS+=fork.2 _Fork.2 MLINKS+=fsync.2 fdatasync.2 MLINKS+=getdirentries.2 getdents.2 MLINKS+=getfh.2 lgetfh.2 \ getfh.2 getfhat.2 MLINKS+=getgid.2 getegid.2 MLINKS+=getitimer.2 setitimer.2 MLINKS+=getlogin.2 getlogin_r.3 MLINKS+=getlogin.2 setlogin.2 MLINKS+=getloginclass.2 setloginclass.2 MLINKS+=getpgrp.2 getpgid.2 MLINKS+=getpid.2 getppid.2 MLINKS+=getpriority.2 setpriority.2 MLINKS+=getrlimit.2 setrlimit.2 MLINKS+=getsockopt.2 setsockopt.2 MLINKS+=gettimeofday.2 settimeofday.2 MLINKS+=getuid.2 geteuid.2 MLINKS+=intro.2 errno.2 MLINKS+=jail.2 jail_attach.2 \ jail.2 jail_get.2 \ jail.2 jail_remove.2 \ jail.2 jail_set.2 MLINKS+=kldunload.2 kldunloadf.2 MLINKS+=kqueue.2 kevent.2 \ kqueue.2 kqueuex.2 \ kqueue.2 EV_SET.3 MLINKS+=link.2 linkat.2 MLINKS+=madvise.2 posix_madvise.2 MLINKS+=mkdir.2 mkdirat.2 MLINKS+=mkfifo.2 mkfifoat.2 MLINKS+=mknod.2 mknodat.2 MLINKS+=mlock.2 munlock.2 MLINKS+=mlockall.2 munlockall.2 MLINKS+=modnext.2 modfnext.2 MLINKS+=mount.2 nmount.2 \ mount.2 unmount.2 MLINKS+=mq_receive.2 mq_timedreceive.2 MLINKS+=mq_send.2 mq_timedsend.2 MLINKS+=ntp_adjtime.2 ntp_gettime.2 MLINKS+=open.2 openat.2 MLINKS+=pathconf.2 fpathconf.2 MLINKS+=pathconf.2 lpathconf.2 MLINKS+=pdfork.2 pdgetpid.2\ pdfork.2 pdkill.2 MLINKS+=pipe.2 pipe2.2 MLINKS+=poll.2 ppoll.2 MLINKS+=rctl_add_rule.2 rctl_get_limits.2 \ rctl_add_rule.2 rctl_get_racct.2 \ rctl_add_rule.2 rctl_get_rules.2 \ rctl_add_rule.2 rctl_remove_rule.2 MLINKS+=read.2 pread.2 \ read.2 preadv.2 \ read.2 readv.2 MLINKS+=readlink.2 readlinkat.2 MLINKS+=recv.2 recvfrom.2 \ recv.2 recvmsg.2 MLINKS+=rename.2 renameat.2 MLINKS+=rtprio.2 rtprio_thread.2 MLINKS+=sched_get_priority_max.2 sched_get_priority_min.2 \ sched_get_priority_max.2 sched_rr_get_interval.2 MLINKS+=sched_setparam.2 sched_getparam.2 MLINKS+=sched_setscheduler.2 sched_getscheduler.2 MLINKS+=sctp_generic_sendmsg.2 sctp_generic_sendmsg_iov.2 MLINKS+=select.2 FD_CLR.3 \ select.2 FD_ISSET.3 \ select.2 FD_SET.3 \ select.2 FD_ZERO.3 MLINKS+=send.2 sendmsg.2 \ send.2 sendto.2 MLINKS+=setpgid.2 setpgrp.2 MLINKS+=setresuid.2 getresgid.2 \ setresuid.2 getresuid.2 \ setresuid.2 setresgid.2 MLINKS+=setuid.2 setegid.2 \ setuid.2 seteuid.2 \ setuid.2 setgid.2 MLINKS+=shmat.2 shmdt.2 MLINKS+=shm_open.2 memfd_create.3 \ shm_open.2 shm_create_largepage.3 \ shm_open.2 shm_unlink.2 \ shm_open.2 shm_rename.2 MLINKS+=sigwaitinfo.2 sigtimedwait.2 MLINKS+=stat.2 fstat.2 \ stat.2 fstatat.2 \ stat.2 lstat.2 MLINKS+=statfs.2 fstatfs.2 MLINKS+=swapon.2 swapoff.2 MLINKS+=symlink.2 symlinkat.2 MLINKS+=syscall.2 __syscall.2 MLINKS+=timer_settime.2 timer_getoverrun.2 \ timer_settime.2 timer_gettime.2 MLINKS+=timerfd.2 timerfd_create.2 \ timerfd.2 timerfd_gettime.2 \ timerfd.2 timerfd_settime.2 MLINKS+=thr_kill.2 thr_kill2.2 MLINKS+=truncate.2 ftruncate.2 MLINKS+=unlink.2 unlinkat.2 MLINKS+=unlink.2 funlinkat.2 MLINKS+=utimensat.2 futimens.2 MLINKS+=utimes.2 futimes.2 \ utimes.2 futimesat.2 \ utimes.2 lutimes.2 MLINKS+=wait.2 wait3.2 \ wait.2 wait4.2 \ wait.2 waitpid.2 \ wait.2 waitid.2 \ wait.2 wait6.2 MLINKS+=write.2 pwrite.2 \ write.2 pwritev.2 \ write.2 writev.2 .endif # ${LIB} == "sys" diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map index fa27dc95aea4..8d68d23686a8 100644 --- a/lib/libsys/Symbol.sys.map +++ b/lib/libsys/Symbol.sys.map @@ -1,442 +1,392 @@ /* * It'd be nice to automatically generate the syscall symbols, but we * don't know to what version they will eventually belong to, so for now * it has to be manual. */ FBSD_1.0 { __acl_aclcheck_fd; __acl_aclcheck_file; __acl_aclcheck_link; __acl_delete_fd; __acl_delete_file; __acl_delete_link; __acl_get_fd; __acl_get_file; __acl_get_link; __acl_set_fd; __acl_set_file; __acl_set_link; __getcwd; __mac_execve; __mac_get_fd; __mac_get_file; __mac_get_link; __mac_get_pid; __mac_get_proc; __mac_set_fd; __mac_set_file; __mac_set_link; __mac_set_proc; __setugid; __syscall; __sysctl; _exit; _umtx_op; abort2; - accept; access; acct; adjtime; aio_cancel; aio_error; aio_fsync; aio_read; aio_return; - aio_suspend; aio_waitcomplete; aio_write; audit; auditctl; auditon; bind; chdir; chflags; chmod; chown; chroot; clock_getres; clock_gettime; clock_settime; - close; - connect; dup; dup2; eaccess; execve; extattr_delete_fd; extattr_delete_file; extattr_delete_link; extattr_get_fd; extattr_get_file; extattr_get_link; extattr_list_fd; extattr_list_file; extattr_list_link; extattr_set_fd; extattr_set_file; extattr_set_link; extattrctl; errno; fchdir; fchflags; fchmod; fchown; - fcntl; fhopen; flock; - fork; fpathconf; - fsync; futimes; getaudit; getaudit_addr; getauid; getcontext; getdtablesize; getegid; geteuid; getfh; getgid; getgroups; getitimer; getpagesize; getpeername; getpgid; getpgrp; getpid; getppid; getpriority; getresgid; getresuid; getrlimit; getrusage; getsid; getsockname; getsockopt; gettimeofday; getuid; ioctl; issetugid; jail; jail_attach; kenv; kill; kldfind; kldfirstmod; kldload; kldnext; kldstat; kldsym; kldunload; kldunloadf; kqueue; kmq_notify; /* Do we want these to be public interfaces? */ kmq_open; /* librt uses them to provide mq_xxx. */ kmq_setattr; kmq_timedreceive; kmq_timedsend; kmq_unlink; ksem_close; ksem_destroy; ksem_getvalue; ksem_init; ksem_open; ksem_post; ksem_timedwait; ksem_trywait; ksem_unlink; ksem_wait; ktrace; lchflags; lchmod; lchown; lgetfh; link; lio_listio; listen; lutimes; mac_syscall; madvise; mincore; minherit; mkdir; mkfifo; mlock; mlockall; modfind; modfnext; modnext; modstat; mount; mprotect; msgget; 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; rmdir; rtprio; rtprio_thread; sched_get_priority_max; sched_get_priority_min; sched_getparam; sched_getscheduler; sched_rr_get_interval; sched_setparam; sched_setscheduler; sched_yield; - select; semget; semop; semsys; sendfile; - sendmsg; - sendto; setaudit; setaudit_addr; setauid; setegid; seteuid; setgid; setgroups; setitimer; setlogin; setpgid; setpriority; setregid; setresgid; setresuid; setreuid; setrlimit; setsid; 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; symlink; sync; sysarch; syscall; thr_create; thr_exit; thr_kill; thr_kill2; thr_new; thr_self; thr_set_name; thr_suspend; thr_wake; ktimer_create; /* Do we want these to be public interfaces? */ ktimer_delete; /* librt uses them to provide timer_xxx. */ ktimer_getoverrun; ktimer_gettime; ktimer_settime; umask; undelete; unlink; unmount; utimes; utrace; uuidgen; - vadvise; vfork; - wait4; - write; - writev; __error; ftruncate; lseek; mmap; pread; pwrite; truncate; }; FBSD_1.1 { __semctl; - closefrom; cpuset; cpuset_getid; cpuset_setid; cpuset_getaffinity; cpuset_setaffinity; faccessat; fchmodat; fchownat; fexecve; futimesat; jail_get; jail_set; jail_remove; linkat; lpathconf; mkdirat; mkfifoat; msgctl; readlinkat; renameat; setfib; shmctl; symlinkat; unlinkat; }; FBSD_1.2 { cap_enter; cap_getmode; getloginclass; getpagesizes; - pdfork; pdgetpid; pdkill; posix_fallocate; rctl_get_racct; rctl_get_rules; rctl_get_limits; rctl_add_rule; rctl_remove_rule; setloginclass; }; FBSD_1.3 { - accept4; aio_mlock; bindat; cap_fcntls_get; cap_fcntls_limit; cap_ioctls_get; cap_ioctls_limit; __cap_rights_get; cap_rights_limit; chflagsat; clock_getcpuclockid2; connectat; ffclock_getcounter; ffclock_getestimate; ffclock_setestimate; 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; }; FBSD_1.6 { __sysctlbyname; aio_readv; aio_writev; close_range; copy_file_range; fhlink; fhlinkat; fhreadlink; getfhat; funlinkat; - shm_create_largepage; shm_rename; }; FBSD_1.7 { - _Fork; fspacectl; kqueuex; membarrier; swapoff; timerfd_create; timerfd_gettime; timerfd_settime; }; FBSD_1.8 { kcmp; }; FBSDprivate_1.0 { /* Add entries in sort(1) order */ __libsys_interposing_slot; __set_error_selector; __sigwait; gssd_syscall; nlm_syscall; rpctls_syscall; }; diff --git a/lib/libsys/amd64/Symbol.sys.map b/lib/libsys/amd64/Symbol.sys.map index 5e0714aef35d..5f463c85f872 100644 --- a/lib/libsys/amd64/Symbol.sys.map +++ b/lib/libsys/amd64/Symbol.sys.map @@ -1,26 +1,18 @@ FBSD_1.0 { rfork_thread; amd64_get_fsbase; amd64_get_gsbase; amd64_set_fsbase; amd64_set_gsbase; - brk; - sbrk; }; FBSD_1.6 { x86_pkru_get_perm; x86_pkru_set_perm; x86_pkru_protect_range; 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 179889b60832..a9445ae7ba23 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 7d8c4ef61c11..303804935435 100644 --- a/lib/libsys/i386/Symbol.sys.map +++ b/lib/libsys/i386/Symbol.sys.map @@ -1,28 +1,25 @@ FBSD_1.0 { rfork_thread; - brk; i386_clr_watch; i386_get_fsbase; i386_get_gsbase; i386_get_ioperm; i386_get_ldt; i386_set_fsbase; i386_set_gsbase; i386_set_ioperm; i386_set_ldt; i386_set_watch; i386_vm86; - sbrk; }; FBSD_1.6 { x86_pkru_get_perm; x86_pkru_set_perm; x86_pkru_protect_range; x86_pkru_unprotect_range; }; 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 f241c4ed0984..000000000000 --- 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 f241c4ed0984..000000000000 --- a/lib/libsys/powerpc64/Symbol.sys.map +++ /dev/null @@ -1,4 +0,0 @@ -FBSD_1.0 { - brk; - sbrk; -};