|
Revision tags: release/12.4.0, release/13.1.0 |
|
| #
6edd55f8 |
| 07-Mar-2022 |
Mark Johnston <[email protected]> |
ctf: Import ctf.h from OpenBSD
Use it instead of the existing ctf.h from OpenSolaris. This makes it easier to use CTF in the core kernel, and to extend the CTF format to support wider type IDs.
Th
ctf: Import ctf.h from OpenBSD
Use it instead of the existing ctf.h from OpenSolaris. This makes it easier to use CTF in the core kernel, and to extend the CTF format to support wider type IDs.
The imported ctf.h is modified to depend only on _types.h, and also to provide macros which use the "parent" bit of a type ID to refer to types in a parent CTF container.
No functional change intended.
Approved by: re (gjb) Reviewed by: Domagoj Stolfa, emaste Sponsored by: The FreeBSD Foundation
(cherry picked from commit 2d5d2a986ce1a93b8567dbdf3f80bc2b545d6998) (cherry picked from commit 3681c4f065f1028ff84b654cfbfb238f2723b78c)
show more ...
|
| #
2faefc48 |
| 26-Jan-2022 |
Mark Johnston <[email protected]> |
tools/build: Fix the error message used when a host tool is not present
(cherry picked from commit ddf312e8d7562baf031da95059c5e8857f180e05)
|
| #
e06a2465 |
| 06-Dec-2021 |
Jessica Clarke <[email protected]> |
tools: Also create ${WORLDTMP}/legacy/usr/libdata/pkgonfig
This is needed for the next commit which will make libz a bootstrap library as needed by ctfconvert. We could just not install the .pc file
tools: Also create ${WORLDTMP}/legacy/usr/libdata/pkgonfig
This is needed for the next commit which will make libz a bootstrap library as needed by ctfconvert. We could just not install the .pc file as it's not needed, but that requires a per-library hack every time a bootstrap library gains a .pc file, so this keeps bootstrap-tools looking as much like a normal build as possible.
MFC after: 1 week
(cherry picked from commit 7ba31d58f00197b491828c981228faf6ae99a6c2)
show more ...
|
|
Revision tags: release/12.3.0, release/13.0.0 |
|
| #
5a9fe096 |
| 20-Mar-2021 |
Jessica Clarke <[email protected]> |
tools/build: Improve host-symlinks failure mode
Since set -e is enabled by sys.mk, if the tool cannot be found in PATH then the entire shell command line fails, causing us to not print the error mes
tools/build: Improve host-symlinks failure mode
Since set -e is enabled by sys.mk, if the tool cannot be found in PATH then the entire shell command line fails, causing us to not print the error message below and instead silently (due to the @) fail, only getting the usual "Error code 1" print from bmake. Thus, provide a dummy default that will never exist (the same as is used by meta2deps.sh) if which fails so that we get the error message as intended.
(cherry picked from commit 8c9e45503fe41732f72e1a4cc9a231e63b4289ba)
show more ...
|
| #
60fd4439 |
| 17-Feb-2021 |
Alex Richardson <[email protected]> |
Fix bootstrap tools build on macOS after 02af91c52e71e8a0f47251e637c9687f35d45dd9
After changing the namespace.h header we need to provide _err on macOS, too. Previously we used the system libc err*
Fix bootstrap tools build on macOS after 02af91c52e71e8a0f47251e637c9687f35d45dd9
After changing the namespace.h header we need to provide _err on macOS, too. Previously we used the system libc err*/warn*, but that does not provide _err/_warn (which is used by other bootstrapped files from libc). To fix this problem bootstrap err.c on macOS as well.
Fixes: 02af91c52 (Fix crossbuild bootstrap tools build with Clang 12) (cherry picked from commit 962a3814d4c838d21a67a4b704c64be843cb2b51)
show more ...
|
| #
aa68a0b3 |
| 17-Mar-2021 |
Alex Richardson <[email protected]> |
Create symlinks to host tools on non-FreeBSD hosts
This is unnecessary when cross-building from Linux/macOS. Additionally, cp -p appears to be broken on macOS Big Sur (https://openradar.appspot.com/
Create symlinks to host tools on non-FreeBSD hosts
This is unnecessary when cross-building from Linux/macOS. Additionally, cp -p appears to be broken on macOS Big Sur (https://openradar.appspot.com/8957219).
For some unknown reason this commit appears to fix freezes when building on macOS Big Sur. This also fixes building in docker with volume mounts with ACLs, since setting the ACL with cp -p fails otherwise.
Obtained From: CheriBSD Tested By: gnn (macOS Big Sur), Nathaniel Wesley Filardo (docker) Reviewed By: jrtc27, imp Differential Revision: https://reviews.freebsd.org/D28267
(cherry picked from commit a8b20f4fabbca9bef377009429848d4f9cea18ae)
show more ...
|
| #
aefe30c5 |
| 15-Jan-2021 |
Mariusz Zaborski <[email protected]> |
cat: capsicumize it
Reviewed by: markj, arichardson Differential Revision: https://reviews.freebsd.org/D28083
|
| #
4e64fb9f |
| 14-Dec-2020 |
Alex Richardson <[email protected]> |
Fix warnings during bootstrap on Linux systems
Most warnings are currently off for the boostrap phase, but once D27598 lands they will be enabled again.
|
| #
ed845580 |
| 06-Jan-2021 |
Alex Richardson <[email protected]> |
Fix all warnings emitted in `make kernel-toolchain`
With this change and D27598 make kernel-toolchain no longer emits any warnings for me.
Reviewed By: emaste Differential Revision: https://reviews
Fix all warnings emitted in `make kernel-toolchain`
With this change and D27598 make kernel-toolchain no longer emits any warnings for me.
Reviewed By: emaste Differential Revision: https://reviews.freebsd.org/D27599
show more ...
|
|
Revision tags: release/12.2.0 |
|
| #
a5252831 |
| 14-Oct-2020 |
Alex Richardson <[email protected]> |
Fix more -Wundef warnings during bootstrap
|
| #
5bb9250e |
| 25-Aug-2020 |
Alex Richardson <[email protected]> |
Add necessary Makefile.inc1 infrastructure for building on non-FreeBSD
The most awkward bit in this patch is the bootstrapping of m4: We can't simply use the host version of m4 since that is not com
Add necessary Makefile.inc1 infrastructure for building on non-FreeBSD
The most awkward bit in this patch is the bootstrapping of m4: We can't simply use the host version of m4 since that is not compatible with the flags passed by lex (at least on macOS, possibly also on Linux). Therefore we need to bootstrap m4, but lex needs m4 to build and m4 also depends on lex (which needs m4 to generate any files). To work around this cyclic dependency we can build a bootstrap version of m4 (with pre-generated files) then use that to build the real m4.
This patch also changes the xz/unxz/dd tools to always use the host version since the version in the source tree cannot easily be bootstrapped on macOS or Linux.
Reviewed By: brooks, imp (earlier version) Differential Revision: https://reviews.freebsd.org/D25992
show more ...
|
| #
7ec1ec4f |
| 25-Aug-2020 |
Alex Richardson <[email protected]> |
Add missing FreeBSD functions to -legacy when building on macOS/Linux
In most cases this simply builds the file from lib/libc for missing functions (e.g. strlcpy on Linux etc.). In cases where this
Add missing FreeBSD functions to -legacy when building on macOS/Linux
In most cases this simply builds the file from lib/libc for missing functions (e.g. strlcpy on Linux etc.). In cases where this is not possible I've added an implementation to tools/build/cross-build.
The fgetln.c/fgetwln.c/closefrom.c compatibility code was obtained from https://gitlab.freedesktop.org/libbsd/libbsd, but I'm not sure it makes sense to import it into to contrib just for these three bootstrap files.
Reviewed By: brooks Differential Revision: https://reviews.freebsd.org/D25978
show more ...
|
| #
0e533c72 |
| 24-Aug-2020 |
Warner Losh <[email protected]> |
When copying over the binaries, use '-p' to preserve date/time
Although I can't reproduce it, others are seeing different lex/yacc programs always regenerated after my change to copy rather than sym
When copying over the binaries, use '-p' to preserve date/time
Although I can't reproduce it, others are seeing different lex/yacc programs always regenerated after my change to copy rather than symlink the files. The reported fix is to add '-p' to the copies. Since it doesn't hurt, go head and add it, though the reasons for this mattering remain at best obscure and poorly articulated.
show more ...
|
| #
0d5e6518 |
| 14-Aug-2020 |
Alex Richardson <[email protected]> |
crunchgen: use pwd -P without env
The -P flag is required by POSIX so we don't have to care whether pwd is a shell builtin or not. This also allows removing pwd from the list of bootstrap tools sinc
crunchgen: use pwd -P without env
The -P flag is required by POSIX so we don't have to care whether pwd is a shell builtin or not. This also allows removing pwd from the list of bootstrap tools since all shells we care about for building have a builtin pwd command. This effectively reverts r364190.
Suggested By: rgrimes, jrtc27
show more ...
|
| #
54f7867b |
| 13-Aug-2020 |
Alex Richardson <[email protected]> |
Add pwd to the list of tools that are linked to $WORLDTMP/legacy
After r364166 and r364174, crunchgen needs a pwd binary in $PATH instead of using a hardcoded absolute path. This commit is needed fo
Add pwd to the list of tools that are linked to $WORLDTMP/legacy
After r364166 and r364174, crunchgen needs a pwd binary in $PATH instead of using a hardcoded absolute path. This commit is needed for BUILD_WITH_STRICT_TMPPATH builds (currently not on by default).
show more ...
|
| #
313232dd |
| 11-Aug-2020 |
Alex Richardson <[email protected]> |
Fix bootstrapping ldd after r362152
r362152 started using DF_1_PIE, which is not present in older versions of sys/elf_common.h. To fix this include the ELF headers as part of -legacy.
|
| #
33176cdc |
| 07-Aug-2020 |
Warner Losh <[email protected]> |
The practice of creating symbolic links is somewhat fragile. Always make copies instead.
There's too many times that we can't run the new binaries with old libraries. Making the links when things ar
The practice of creating symbolic links is somewhat fragile. Always make copies instead.
There's too many times that we can't run the new binaries with old libraries. Making the links when things are known to be 'safe' is a nice optimization, but a copy of all the binaries is only 30MB, so saving the copies at the cost of increased support when new symbols are added and used as part of the bootstrap seems to be unwise.
There may be additional optimizations possible here, especially for !FreeBSD hosts. However, that's beyond the scope of the problem I'm trying to fix with make failing mid-way through an installworld across change r363679. This optimization there caused us to run a new binary with an old library once a new make was installed due to the symbolic link. One could just copy make, but then other binaries fail as well, so rather than play whack-a-mole, I opted to take us back to the old way. Before r340157 or so we did copies (thogh of a lot fewer artifacts), and we didn't have issues like this.
Reviewed by: arichards@ Differential Revision: https://reviews.freebsd.org/D25967
show more ...
|
| #
ea6c594c |
| 15-Jul-2020 |
Alex Richardson <[email protected]> |
Fix BUILD_WITH_STRICT_TMPPATH builds
We need dd in $PATH for some of the MK_BOOT code and some tests also use it.
Obtained from: CheriBSD
|
| #
94a82666 |
| 22-Jun-2020 |
Ryan Moeller <[email protected]> |
flua: add ucl library
libucl comes with a Lua library binding. Build it into flua.
This lets us parse/generate config files in the various formats supported by libucl with flua. For example, the
flua: add ucl library
libucl comes with a Lua library binding. Build it into flua.
This lets us parse/generate config files in the various formats supported by libucl with flua. For example, the following script will detect the format of an object written to stdin as one of UCL config, JSON, or YAML and write it to stdout as pretty-printed JSON:
local ucl = require('ucl') local parser = ucl.parser() parser:parse_string(io.read('*a')) local obj = parser:get_object() print(ucl.to_format(obj, 'json'))
Reviewed by: kevans, pstef Approved by: mmacy (mentor) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D25009
show more ...
|
| #
e7fd9688 |
| 14-Jun-2020 |
Toomas Soome <[email protected]> |
Move font related data structured to sys/font.c and update vtfontcvt
Prepare support to be able to handle font data in loader, consolidate data structures to sys/font.h and update vtfontcvt.
vtfont
Move font related data structured to sys/font.c and update vtfontcvt
Prepare support to be able to handle font data in loader, consolidate data structures to sys/font.h and update vtfontcvt.
vtfontcvt update is about to output set of glyphs in form of C source, the implementation does allow to output compressed or uncompressed font bitmaps.
Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D24189
show more ...
|
|
Revision tags: release/11.4.0 |
|
| #
162ae9c8 |
| 27-Jan-2020 |
Alex Richardson <[email protected]> |
Allow bootstrapping makefs on older FreeBSD hosts and Linux/macOS
In order to do so we need to install the msdosfs headers to the bootstrap sysroot and avoid includes of kernel headers that may not
Allow bootstrapping makefs on older FreeBSD hosts and Linux/macOS
In order to do so we need to install the msdosfs headers to the bootstrap sysroot and avoid includes of kernel headers that may not exist on every host (e.g. sys/lockmgr.h). This change should allow bootstrapping of makefs on FreeBSD 11+ as well as Linux and macOS.
We also have to avoid using the IO_SYNC macro since that may not be available. In makefs it is only used to switch between calling bwrite() and bdwrite() which both call the same function. Therefore we can simply always call bwrite().
For our CheriBSD builds we always bootstrap makefs by setting LOCAL_XTOOL_DIRS='lib/libnetbsd usr.sbin/makefs' and use the makefs binary from the build tree to create a bootable disk image.
Reviewed By: brooks Differential Revision: https://reviews.freebsd.org/D23201
show more ...
|
| #
4f47920e |
| 12-Jan-2020 |
Kyle Evans <[email protected]> |
Makefile.inc1: push /usr/libexec into the BPATH/TMPPATH
${WORLDTMP}/legacy/usr/libexec will only have libexec/ bits that we've pushed as bootstrap tools, so this is generally safe to include prior t
Makefile.inc1: push /usr/libexec into the BPATH/TMPPATH
${WORLDTMP}/legacy/usr/libexec will only have libexec/ bits that we've pushed as bootstrap tools, so this is generally safe to include prior to PATH. The following are the ramifications of this change:
- BPATH addition gets us at least bootstrap flua in WMAKEENV path for buildenv, for those earlier systems where it's bootstrapped still
- Reworked the sysent target to just set PATH and let it get worked out in src.lua.mk or individual sysent makefiles -- this gives us back the ability to overwrite LUA_CMD and use a different/external lua for these targets. sysent can also now work cleanly in buildenv.
- tools/build/Makefile will now symlink the host flua into build's host tools so that the above can work without needing to add the host's /usr/libexec explicitly into TMPPATH.
Reviewed by: arichardson, brooks, imp (all slightly earlier version) Differential Revision: https://reviews.freebsd.org/D22464
show more ...
|
| #
f22a5921 |
| 18-Nov-2019 |
Kyle Evans <[email protected]> |
Convert in-tree sysent targets to use new makesyscalls.lua
flua is bootstrapped as part of the build for those on older versions/revisions that don't yet have flua installed. Once upgraded past r354
Convert in-tree sysent targets to use new makesyscalls.lua
flua is bootstrapped as part of the build for those on older versions/revisions that don't yet have flua installed. Once upgraded past r354833, "make sysent" will again naturally work as expected.
Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D21894
show more ...
|
|
Revision tags: release/12.1.0 |
|
| #
17adf17b |
| 28-Oct-2019 |
Simon J. Gerraty <[email protected]> |
Building head on stable/11 requires libzstd
Add lib/libzstd to _elftoolchain_libs
tools/build/Makefile needs to create the install dir for libzstd Since this would make the line too long, rework to
Building head on stable/11 requires libzstd
Add lib/libzstd to _elftoolchain_libs
tools/build/Makefile needs to create the install dir for libzstd Since this would make the line too long, rework to use a list in one per line format (easier to add in future) and dispense with the .for loop
Reviewed by: emaste bapt Differential Revision: https://reviews.freebsd.org/D220134
show more ...
|
| #
fbe12f20 |
| 01-Aug-2019 |
Mark Johnston <[email protected]> |
Include caph_rights_limit() in libegacy if need be.
Reported by: jenkins Sponsored by: The FreeBSD Foundation
|