These utilities can be enabled with only a small amount of additional
patches. In particular sort, expr, uniq,and hostname are used by some
./configure.sh scripts.
The patch to heirloom-devtool's yacc used sprintf instead of snprintf.
This incompatibility causes a segfault when those code paths are hit.
Fixing this allows yacc to compile more grammars, and may allow some
packages to drop dependency on bison in favor of yacc.
- Rather than using part-by-part build of Binutils, use autogen and full
./configure, make build.
- Enable some other modern features, including the gold linker, threaded
linking and 64-bit linking.
- This allows GCC 12 to build unhindered by binutils.
The motivations for this are complicated, but on musl systems, musl
will use its own libssp implementation, so GCC's libssp is not required.
Not to mention that GCC's libssp implementation is questionable at best.
This is the approach taken by the two major musl distributions - Alpine
Linux and Void Linux.
The main motivations to have this are:
* Detect checksum changes with chroot/bwrap builds
* Avoid removing checksums from `SHA256SUMS.pkgs` when unsing `--update-checksums`
* Find crashes that would otherwise be missed in `builder-hex0`
Fixes https://github.com/fosslinux/live-bootstrap/issues/281.
This is adding a null pointer check to `fill_local_got_entries` in tcc 0.9.27. This is rather a workaround because I am not sure if it is legit for that pointer to be null.
Ensures that when `--external-sources` is used, the build does not require a working internet connection.
`--unshare-net` is always passed for the sysa phase.
By using --cores argument to rootfs.py, JOBS= is set in the
live-bootstrap environment, and -j${JOBS} is used on builds. This speeds
larger packages up significantly.
A fair number of packages do not build properly with parallelism. Most
of these, at least for now, are disabled with -j1.
This is achieved by transplanting 3.0.7's psyntax-pp.scm into 3.0.9
which works flawlessly.
This is required for parallelism, since <3.0.8 is irreproducible when
-jN is used.