cheribsd
cheribsd copied to clipboard
Upstream support for a single WORLDTMP for libcompat builds
Summary added by @brooksdavis:
On FreeBSD when doing builds for freebsd32 support, a separate temporary sysroot is created. It contains the compat architecture's headers and installed libraries as they are built. It is referred to as LIBCOMPATTMP
. On CheriBSD we merged LIBCOMPATTMP
into WORLDTMP
(the default sysroot). This worked for MIPS (were 32 and 64-bit code uses the same headers) and currently works for aarch64 and riscv64 because they don't have freebsd32 support. In theory it should work for amd64 if -m32
compilation works, but it doesn't quite as (at least) sys/cpufunc.h
is not compatible and thus csu bits don't build. At this point it's unclear how many layers the onion has...
https://reviews.freebsd.org/D34697
Upstreamed