Some files in this directory are imported from FreeBSD. The last synchronization point with FreeBSD is the following FreeBSD commit: commit 3bf66365129a13933f77d1f4421d5136861cffb4 Author: Brooks Davis Date: Wed Jul 6 14:03:48 2022 +0100 cddl/*: add a WITH(OUT)_DTRACE option Add an option to enable/disable DTrace without disabling ZFS. New architectures such as CHERI may support ZFS before they support DTrace and the old model of WITHOUT_CDDL disabling both wasn't helpful. For compatiblity, the CDDL option remains and WITHOUT_CDDL implies WITHOUT_DTRACE. WITHOUT_DTRACE also implies WITHOUT_CTF. As part of this change, largely convert cddl/*/Makefile to using the more compact SUBDIR.${MK_}+= form rather than using intermediate variables. Reviewed by: markj Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D35718 The files imported from FreeSD may be updated to a new FreeBSD baseline through a patch set generated by this Git command: git format-patch 3bf66365129a13933f77d1f4421d5136861cffb4 -- \ include/arpa/inet.h include/netdb.h include/termios.h sys/net/if.h \ sys/netinet6/in6.h sys/netinet/in.h sys/netinet/tcp.h sys/sys/filio.h \ sys/sys/ioccom.h sys/sys/_iovec.h sys/sys/mman.h sys/sys/poll.h \ sys/sys/_sockaddr_storage.h sys/sys/socket.h sys/sys/sockio.h \ sys/sys/syslog.h sys/sys/_termios.h sys/sys/ttycom.h sys/sys/ttydefaults.h \ sys/sys/_uio.h sys/sys/uio.h sys/sys/un.h Use the follwing commands to map FreeBSD paths to Newlib paths: sed -i 's,include/arpa/inet.h,newlib/libc/sys/rtems/include/arpa/inet.h,g' *.patch sed -i 's,include/netdb.h,newlib/libc/sys/rtems/include/netdb.h,g' *.patch sed -i 's,include/termios.h,newlib/libc/sys/rtems/include/termios.h,g' *.patch sed -i 's,sys/net/if.h,newlib/libc/sys/rtems/include/net/if.h,g' *.patch sed -i 's,sys/netinet6/in6.h,newlib/libc/sys/rtems/include/netinet6/in6.h,g' *.patch sed -i 's,sys/netinet/in.h,newlib/libc/sys/rtems/include/netinet/in.h,g' *.patch sed -i 's,sys/netinet/tcp.h,newlib/libc/sys/rtems/include/netinet/tcp.h,g' *.patch sed -i 's,sys/sys/filio.h,newlib/libc/sys/rtems/include/sys/filio.h,g' *.patch sed -i 's,sys/sys/ioccom.h,newlib/libc/sys/rtems/include/sys/ioccom.h,g' *.patch sed -i 's,sys/sys/_iovec.h,newlib/libc/sys/rtems/include/sys/_iovec.h,g' *.patch sed -i 's,sys/sys/mman.h,newlib/libc/sys/rtems/include/sys/mman.h,g' *.patch sed -i 's,sys/sys/poll.h,newlib/libc/sys/rtems/include/sys/poll.h,g' *.patch sed -i 's,sys/sys/_sockaddr_storage.h,newlib/libc/sys/rtems/include/sys/_sockaddr_storage.h,g' *.patch sed -i 's,sys/sys/socket.h,newlib/libc/sys/rtems/include/sys/socket.h,g' *.patch sed -i 's,sys/sys/sockio.h,newlib/libc/sys/rtems/include/sys/sockio.h,g' *.patch sed -i 's,sys/sys/syslog.h,newlib/libc/sys/rtems/include/sys/syslog.h,g' *.patch sed -i 's,sys/sys/_termios.h,newlib/libc/sys/rtems/include/sys/_termios.h,g' *.patch sed -i 's,sys/sys/ttycom.h,newlib/libc/sys/rtems/include/sys/ttycom.h,g' *.patch sed -i 's,sys/sys/ttydefaults.h,newlib/libc/sys/rtems/include/sys/ttydefaults.h,g' *.patch sed -i 's,sys/sys/_uio.h,newlib/libc/sys/rtems/include/sys/_uio.h,g' *.patch sed -i 's,sys/sys/uio.h,newlib/libc/sys/rtems/include/sys/uio.h,g' *.patch sed -i 's,sys/sys/un.h,newlib/libc/sys/rtems/include/sys/un.h,g' *.patch Some patches may change kernel space parts of the above header files. These parts are contained in kernel space header files provided by RTEMS or LibBSD. Gather all patches and hunks of patches which belong to the kernel space so that they can be applied to RTEMS or LibBSD. Use the following commands to map Newlib paths to kernel space header files. sed -i 's,newlib/libc/sys/rtems/include/netinet6/in6.h,cpukit/include/machine/_kernel_in6.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/netinet/in.h,cpukit/include/machine/_kernel_in.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/sys/cpuset.h,cpukit/include/machine/_kernel_cpuset.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/sys/mman.h,cpukit/include/machine/_kernel_mman.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/sys/param.h,cpukit/include/machine/_kernel_param.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/sys/time.h,cpukit/include/machine/_kernel_time.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/sys/types.h,cpukit/include/machine/_kernel_types.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/sys/uio.h,cpukit/include/machine/_kernel_uio.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/net/if.h,rtemsbsd/include/machine/_kernel_if.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/sys/lock.h,rtemsbsd/include/machine/_kernel_lock.h,g' *.patch sed -i 's,newlib/libc/sys/rtems/include/sys/socket.h,rtemsbsd/include/machine/_kernel_socket.h,g' *.patch