diff --git a/newlib/libc/sys/rtems/include/README b/newlib/libc/sys/rtems/include/README new file mode 100644 index 000000000..8232ef160 --- /dev/null +++ b/newlib/libc/sys/rtems/include/README @@ -0,0 +1,79 @@ +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