commit: d652494ef439a62833dbf149ecb31beb7d41222b
parent c5175b46c567c7887600213cc2c783e2374cfb6d
Author: Samuel Tyler <fosslinux@aussies.space>
Date: Tue, 4 Feb 2025 22:12:46 +1100
Merge pull request #490 from fosslinux/musl-fixup
Musl fixes
Diffstat:
33 files changed, 265 insertions(+), 202 deletions(-)
diff --git a/parts.rst b/parts.rst
@@ -286,7 +286,7 @@ patch 2.5.9
``patch`` is a very useful tool at this stage, allowing us to make
significantly more complex edits, including just changes to lines.
-gzip 1.2.4
+gzip 1.2.5
==========
``gzip`` is the most common compression format used for software source
@@ -399,6 +399,9 @@ from building many newer or more complex programs.
``tcc`` has slight problems when building and linking ``musl``, so we
apply a few patches.
+We also get rid of a few functions from ``musl``, as they rely on pregenerated
+files we are unable to generate at this stage.
+
We do not use any of ``/usr/lib/mes`` or ``/usr/include/mes`` any longer, rather
using ``/usr/lib`` and ``/usr/include`` like normal.
@@ -422,6 +425,19 @@ tcc 0.9.27 (musl v2)
Now that we have a ‘fixed’ ``musl``, we now recompile ``tcc`` as ``tcc``
uses floats extensively.
+grep 2.4
+========
+
+GNU ``grep`` is a pattern matching utility. ``grep`` is needed to rebuild some
+generated header files in ``musl``.
+
+musl 1.1.24 (v3)
+================
+
+We are now able to regenerate those header files that we couldn't regenerate
+earlier. We unlock the full range of ``musl`` support, required for a
+number of applications (e.g. ``flex``) before the next ``musl`` rebuild.
+
sed 4.0.9
=========
@@ -485,12 +501,6 @@ a 3 stage process:
Finally we have a fully functional ``bison`` executable.
-grep 2.4
-========
-
-GNU ``grep`` is a pattern matching utility. Is is not immediately needed
-but will be useful later for autotools.
-
diffutils 2.7
=============
@@ -692,10 +702,10 @@ In particular we can now use full featured ``ar`` instead of ``tcc -ar``,
the GNU linker ``ld``, which allows us building shared libraries,
and the GNU assembler ``as``.
-musl 1.1.24 (v3)
+musl 1.1.24 (v4)
================
-We rebuild musl for the third time. This time we can use GNU as to build assembly source files,
+We rebuild musl for the fourth time. This time we can use GNU as to build assembly source files,
so those assembly files that tcc failed to compile no longer have to be patched.
tcc 0.9.27 (musl v3)
@@ -722,7 +732,7 @@ findutils 4.2.33
GNU Find Utilities can be used to search for files. We are mainly interested
in ``find`` and ``xargs`` that are often used in scripts.
-musl 1.2.4
+musl 1.2.5
==========
GCC can build the latest as of the time of writing musl version.
@@ -879,7 +889,7 @@ swap
If enabled in ``bootstrap.cfg``, creates and activates a swap file under the
name ``/swapfile``.
-musl 1.2.4
+musl 1.2.5
==========
At this point, it is guaranteed that we are running on Linux with thread support,
@@ -1173,7 +1183,7 @@ We use the `gnu-autogen-bootstrapping <https://github.com/schierlm/gnu-autogen-b
project to rebuild those and create (slightly crippled) ``autogen`` that
is then able to build a full-featured version.
-musl 1.2.4
+musl 1.2.5
==========
With GCC and binutils supporting a musl-based toolchain natively, musl itself is rebuilt
diff --git a/steps/SHA256SUMS.pkgs b/steps/SHA256SUMS.pkgs
@@ -9,120 +9,121 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_
298dcf17a439adb306237b308e3c4ed3d376cb863ae0f0f08bfdf1f3199a548b autoconf-2.69_0.tar.bz2
8c2401edf1c68910005bbcb8b8e84727a46f7d9643d2ad1267bd0259078dadc4 autoconf-2.71_0.tar.bz2
6ff691e3ddd4f3d1796d28b07a2a96691dbd9801844c99ccbe660da59dabd74b autoconf-archive-2021.02.19_0.tar.bz2
-439fc68ab7d0a9a46caca2c7cbefbdb6ffe906f927e07d150e102bb76b393c37 autogen-5.18.16_0.tar.bz2
+f095fe12baf0d5899d8a5a6b735da014f8e087ff5cf5183e03b6c0b454be2f30 autogen-5.18.16_0.tar.bz2
02a426e82a52d4a2cd7e73fe3dc5a2c58b3ed100f24a92c57e42511fd86e247c automake-1.10.3_0.tar.bz2
34925adeaa2876a5e068adeb17b71fe7c7105244c3cb5439d33f7406310674da automake-1.11.2_0.tar.bz2
7e36e9e4b3957c95b6de8ff475c9b37aa007e2f9735b01c0eaf14b711fdd112f automake-1.15.1_0.tar.bz2
57100612d902537b72ee2fd3dfecc903f2ea3959f1a480af87c6a1ef9a9d7c03 automake-1.16.3_0.tar.bz2
1c7e09ac08f156960420fca1f6e8560c1855bf01b001a0648b56153d6ceb9c28 automake-1.6.3_0.tar.bz2
444131776779d1f27628088a817bfb8c9aa85f4b036b934794a71e484ec9bd70 automake-1.6.3_1.tar.bz2
-e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8_0.tar.bz2
ef08694bf8e78ffcf56f9c8a63b0f189e301c06f02ab240e15e4c7fe354c2a0d automake-1.7_0.tar.bz2
+e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8_0.tar.bz2
9922651b64ad2e29b944082f26db223008220155048f25d64df1f6d82071ff1c automake-1.8.5_0.tar.bz2
c5807850a377e4bb9aa4121d9781d145bdd80327626a9419630a75ce2c8d9c71 automake-1.9.6_0.tar.bz2
-f8a55bf656f950ee3c5cea48af03f552166f6db9926b78c78843f3cc52a6e22d bash-5.2.15_0.tar.bz2
-ebc631ee8e9382650005984ec5f3910492ccb6fb2656b4c0af0f4afc16998906 bc-1.07.1_0.tar.bz2
-80328d87ef69df910a3f146009b668744a0363d80fb1f289a02941705d2161d6 binutils-2.30_0.tar.bz2
-da658346866061324b92a6b734561257acfdb981783ad5794d67a0cd56e14e58 binutils-2.41_0.tar.bz2
-026447a32ab08a8a5150bab82a2f150af4a2ed90c47cfde631e1460eaed019aa binutils-2.41_1.tar.bz2
-f0bb18831983493b82fde53917e8d16c6a380761ac5e71e14769a82193fee788 bison-2.3_0.tar.bz2
-e4a3c9466d95c58bb072159da3473d71b40eb069b756acefba293588c4495a6f bison-3.4.1_0.tar.bz2
-fd3a3b855c3cbc42d719a0cbbae773d27e0e12b563641124ba2870b7103da1f8 bison-3.4.1_1.tar.bz2
-5232f6f8f3864b5827a015ce0414d484bb8aeb9f34ba66ceb7093da0a79561a8 bison-3.4.1_2.tar.bz2
-6d5e4debdec03aee096dbcefcad878fb5c6a069f895ee7ade878d9eeb97fb83e bison-3.4.2_0.tar.bz2
-727b0f28369b78f171dce4e227b05cea474dcb638c357387429c125f0d80fbc8 bzip2-1.0.8_0.tar.bz2
+65427597c185f4a034525217cb108e004c8d2e2dfc824223d2b680e9db338d1c bash-5.2.15_0.tar.bz2
+7db49c9b024821d82d15afc0db2b1af8d89700101495a9cbadf471813ba5fa55 bc-1.07.1_0.tar.bz2
+5d777f774df7fb0153aa73b501c7fe1a57f152a3aa2c86e83a04e68b5df4f696 binutils-2.30_0.tar.bz2
+43bed356bf52b3d52ef62b63adbeb3bbd1e763e93d0ffd3edb5c75354842f171 binutils-2.41_0.tar.bz2
+8107e22996cc9112f1b50848570afdd44283521a296a1dc6d54d35823fd1ecc4 binutils-2.41_1.tar.bz2
+fa047f6dd4595be1bf8a9cc6ff492357f02fefa3bf1ad965c8c50c8e79a52478 bison-2.3_0.tar.bz2
+81554c867db75101422797d227dd76c8a12c87246393126542ff92a0b97db6c1 bison-3.4.1_0.tar.bz2
+f7437edc081071cc3ecd3384abf4c63f33183858b8cae6b4ac3105c66f88b3b6 bison-3.4.1_1.tar.bz2
+8064a96c8ccfbab1245554ac30e68fcc73da24a3dd02f8450658fdb106c7f405 bison-3.4.1_2.tar.bz2
+f4df527ee598ebc64d5c93639307a8d325b93dad510001cccd2df02692a26cdf bison-3.4.2_0.tar.bz2
+e8271c1213b6cc7c9ae2ddb018cd093cbbd5f6e842548c0747ce95b13b6b9447 bzip2-1.0.8_0.tar.bz2
96b6b91e1d3c5f48da471f10dd22415fa05baacaafe964cc86285493d0ca27ce ca-certificates-3.99_0.tar.bz2
-da3a3c7e0e6ce94ccb3d39885bc44207eb94c912b324a4c7669b5a752648b02d coreutils-5.0_0.tar.bz2
-56b84ab2035847524d595bb417c2b91c290174965550be321cd3d5d1f77aa2e5 coreutils-6.10_0.tar.bz2
-9fa31a4aeaa5132205efb796c8f546c94c1cfef6b5c27e64f6ebe06ca0360e67 coreutils-9.4_0.tar.bz2
-abd629e5675196c39dae00afbe23e2116bbd277be1d82214e2ec557a3b03994f curl-8.5.0_0.tar.bz2
-db8757b5fe77f56073caa034bfe9b3af6076d7299db966c4348e06f01a34415f curl-8.5.0_1.tar.bz2
-9534d834b018343b8335d0ef0b5faff3ee18e4ecbecf43a2a80deb972283f5d6 dhcpcd-10.0.1_0.tar.bz2
-e6372051f90c40d1f4a5cca2f8930187b363dfc916bcb973c72bca6c0aba3cd5 diffutils-2.7_0.tar.bz2
-41e3129b974391fe4ace69914fdef9b0fe72c6f5d87d495750fb89bdd999fa01 diffutils-3.10_0.tar.bz2
+982a3496ce3277c562acc896ba796939fe55a37432b2c76ab16b76e051a045a2 coreutils-5.0_0.tar.bz2
+27f283c42e2728d0d0682d56ada44b11ff11d07843e595c133a43f4c6aef53d0 coreutils-6.10_0.tar.bz2
+22d4dcf97bc9caf36f2abc4fbfc2f40d13a0be2db2efce913b09a00461db7a06 coreutils-9.4_0.tar.bz2
+aef1f09e2abd39cca760f186569a0e71bc11a20a79f06ee5802f788dd6a3ff58 curl-8.5.0_0.tar.bz2
+6e0d69e6bfbaf9520036b9ee362764ab791a0526df7a6639d9cc9de32d0becea curl-8.5.0_1.tar.bz2
+fedf6ffbd37b14e9a0c94cd3063c6ac5d38f13be8a3399093ec112f9cd9d0816 dhcpcd-10.0.1_0.tar.bz2
+0462b6a04899a98d60c33f9d16fa00e2e6b7c21cc80ccebc8358fc08105467a2 diffutils-2.7_0.tar.bz2
+58997e5fa5f657692b3b6d11e6f09516a3b25ddf49d0cccb6067bba6d277f59b diffutils-3.10_0.tar.bz2
283a66575b4d7c835f6ebabb38cfb5d7d62032f832ad949f067a85b8a378c36c dist-3.5-236_0.tar.bz2
-26c0835a8b9be115082a2866e906363947528169c7274bd3b82752df77e99f11 e2fsprogs-1.45.7_0.tar.bz2
-9c6f7e156f299f1d0948537e28f00d40e727a3debae3cce158e9bce827136214 ed-1.4_0.tar.bz2
-0061d240f9bb2bb534db7003ddcc4eae9981954ad72e8f41ff1d76dc449ebd37 file-5.44_0.tar.bz2
+c30d11b798f3a6198f339ec98a88f8971c6ec13d5dcb10cb7af780752e97509f e2fsprogs-1.45.7_0.tar.bz2
+139af6684f275e362e5c247bb830e85c888aa6c263622c1f3e967b2f71ff38f4 ed-1.4_0.tar.bz2
+ce69ed8b48cf5440d33c756aadefc48711bdf058ead79121176e13fd9e306c50 file-5.44_0.tar.bz2
eec07e0d710ed3dd8d0ba6a1ec6ca9f1fa3a611bbb225195435679175317bf90 findutils-4.2.33_0.tar.bz2
-80798628ccb38521f42e1ca1abe4f0244e4b283e6f662cd354ab70e61a9b4675 flex-2.5.11_0.tar.bz2
-62b4ba8e73daf1f4ac4fc1f90e99394e40d7c03dce9fed8539dbc01d024c62e8 flex-2.5.33_0.tar.bz2
-e10060b55e2378a065cf8590cae17400c8befc6b3bb0cbbb7093f1b9f46ec4cc flex-2.6.4_0.tar.bz2
-5619cf9a893902491a9d8a8f8da4d39efb3606d7d0a72cb4aaa9d1ff798b5495 gawk-3.0.4_0.tar.bz2
-62e90abe883f6ccd679adf42d00c2c18a9809bbab599411c81b6c4ac4d446452 gawk-5.3.0_0.tar.bz2
-6de1c1380026ef9948387e665610185b6014f47a80453177a6c81898c95cbbd3 gc-8.0.4_0.tar.bz2
-c99d080cf17ac3f75cbae67095cb76220a92d96d877c92c896a7f05c9c94e92d gcc-10.4.0_0.tar.bz2
-e0c9e7f4f0cd0d5027f2a38eb262f883133c31ac9ec93ee6afa5abc028096bc0 gcc-13.1.0_0.tar.bz2
+6f2194592682f4a448ccb0aa897e707a8a00eeb69d4b1f5f0236eb6d0fef6242 flex-2.5.11_0.tar.bz2
+9cb13b1e60c2c860e2f6fb11efffa74646290ef8461fbc43ed6e5ccfc3bd673f flex-2.5.33_0.tar.bz2
+7bd44ec26cad78e5bb146e5ab709d489b6589da6049e319a4f438603f10eda4b flex-2.6.4_0.tar.bz2
+c925739472260498342ba6dc3263da937abf5237e7e9102622bf5657ec98094a gawk-3.0.4_0.tar.bz2
+ba9fb5190645c150c413c79f8a48fbc1a1c3e0e2442782b47a124d35b1e38980 gawk-5.3.0_0.tar.bz2
+ab8b5b92de4780b085d8bc7e98ee72ad5ba9c07b26690c579c559b5cc21817eb gc-8.0.4_0.tar.bz2
+6308c8d1568905cf58b3cd7b64e15a14656405f9676ec47ce3e9eecce3c857bc gcc-10.4.0_0.tar.bz2
+2537802994ec434e543d3736210a1d4c1e704bb2cc849375beeceacf794e26b2 gcc-13.1.0_0.tar.bz2
27bb77077559b6c0f8dd7b8790ac48f70410ecc8816b5c493988ad5556da65e2 gcc-4.0.4_0.tar.bz2
-c1bf792e90df13bf7a24d3f8ce3939fd96ff61b8117e4dcef75605974f3fcf25 gcc-4.0.4_1.tar.bz2
-7ac087bf006188154c28401d0c875ede56076c19d41bc54ffa0d7cc18ce40800 gcc-4.7.4_0.tar.bz2
-dc67fc1b132fa3945349efe74c5b2197bd0b6babf4d29d2deddd04f09d9af680 gettext-0.21_0.tar.bz2
+a1e805b206be1ca7fad2440fc60eff52f3693849ff73c339da84d010f81dd5cc gcc-4.0.4_1.tar.bz2
+5958cf5a547134bea11fda1eee7f7fdb3435f8e55c8339238ecd1b139ca96599 gcc-4.7.4_0.tar.bz2
+6b5236819c5963d33dffa022142df70644dbc1960adcb4456017112cf9b79f5b gettext-0.21_0.tar.bz2
309282ba840f80b5e10897b1221f3ff3329b9e05b982c788d03652f411974524 gmp-6.2.1_0.tar.bz2
-62edfa633f64202b2d29199d11d56a897654a441c7ae39a4d59ca5fe75199f61 gperf-3.1_0.tar.bz2
+e89c5a38c49f2beb959e51732ff29bcf3652945e4f1c2bf70d39310c22b0c58f gperf-3.1_0.tar.bz2
c1989fc2855dbb0350c4e5b677028306614a9f4b5cb6c01fd459c5e1abf592b9 grep-2.4_0.tar.bz2
-8e612afb9a439aa8bf5db0fc2589eec890a6017690412d5c8e88a5838730b42c grep-3.7_0.tar.bz2
-7e1909855a4896d42f92b3564302a9018d3443cc84efb114894ad517397b0585 grub-2.06_0.tar.bz2
-e2a85aad6d51e52c9a30afeed058f95172fde1215f77243549274672990f6237 guile-3.0.9_0.tar.bz2
-6585ae3bc8149ec0e3fba766278fa30e2d7f0e7d1b9a9a4a457e0afa15b109c9 gzip-1.13_0.tar.bz2
-29a1603101cfbe2660e2d695f5b9c08dc9eefd8e3389405a6530c479e271821b heirloom-devtools-070527_0.tar.bz2
+bfeb5cad6720cd6ff629095f562fc7b60e2b352d248c4f8bdc9de3db1ed09b17 grep-3.7_0.tar.bz2
+7fae0496943df52f3e6a78692c4aee432d15c77d46626d58fbd7c0ae847e4934 grub-2.06_0.tar.bz2
+fc97b59e6b3a99ef457890a00ddee4a9ad44316e41cb746cf6cac1d193e480b7 guile-3.0.9_0.tar.bz2
+d128aaa294acfafa1aa4345609cd687aa7669ee187643959138f8bf83ca17416 gzip-1.13_0.tar.bz2
+d0cb00116d742d4216af4a7ed47f20408640229909a497c184aed3d4fcd4f30a heirloom-devtools-070527_0.tar.bz2
8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2
-ea5639dc6198c5f243362a1a7adfbea0cb779e085975712a1b410e82d7e0cf84 kbd-1.15_0.tar.bz2
-50a0f881161c68fe7c9ec6836b11a905b0d54e08e99b2476e8d1f5ac3212769e kexec-linux-1.0.0_0.tar.bz2
-fc784d2c46ffe91e7d54150022c9d2687140e90e3019c1d6799f875f22d99d2e kexec-tools-2.0.22_0.tar.bz2
-e4dcdabf540a9e51a555616abff8ec2fdee5bb40bb05ce702b5410239dd5d7d8 libarchive-3.5.2_0.tar.bz2
+f59be8342ecf28d94e07c862de2d04dc46a7f9415e5256360d0e2ea6d1e3b252 kbd-1.15_0.tar.bz2
+eaac2e938932926864c3866eb60b05c710137f20bb08b6fbdcba752d729f5b68 kexec-linux-1.0.0_0.tar.bz2
+fefc818a2044aa979724e4d7cec93901eb4eab0cc1a535043e652e7b5b9f14c6 kexec-tools-2.0.22_0.tar.bz2
+5d29cdd1d9857ceaaefe84b3239b35a2a4cf56ae0c3a41b5f6bd9f7f4887186c libarchive-3.5.2_0.tar.bz2
36550df491767bb24d2ccab304ce70a3b4956e7c0c0e0c343d922fd57cdafbdd libatomic_ops-7.6.10_0.tar.bz2
-fea96776b929569b98bc1740a9977cf8c0eff1d999a08d766bcc0f40c7b1380c libbsd-0.11.8_0.tar.bz2
-b39826742e236890f3562cdf19492e7ef4224b271f3e75ddeab1f07982b03ebe libffi-3.3_0.tar.bz2
+2763617d04715894bab400ebf8bc1ee7ea6196e9c02cc22eef2648f183c450b7 libbsd-0.11.8_0.tar.bz2
+ed1fe10b0c917ad6a0be05d0187c056cf3ff379e15e51b6b094f708b63ce63de libffi-3.3_0.tar.bz2
0f6aefeb587b3d14d8ea73d7750f946a23d3e59a76a0ee5cdcdcc8132bccf73d libmd-1.1.0_0.tar.bz2
daae709e98d2df2190d1d13b4e86f7f3fe90fa7a975282fe0bb03289b6539f29 libtool-2.2.4_0.tar.bz2
6cefa575362149620f8008a32c8af54f0198a18bc6ab910bd3cead196c1507d7 libtool-2.4.7_0.tar.bz2
-503007bbcddcf4e49d26514c59b4c9501f8b42f0c994a59dfdc388b1ae6b7900 libunistring-0.9.10_0.tar.bz2
-540927c71fb1682175e32a655dfd4a987c494577549bf30e79ef3b1e4f039a4d linux-4.14.341-openela_0.tar.bz2
+dd04cf8fb30f5dcf0348489e873587fec51b8f9a8b3911a669f8a0a2c6bbad99 libunistring-0.9.10_0.tar.bz2
+557c703442cebd2767ea8364341d1c661cf76e277e97d0063f5a546e5f2c4adb linux-4.14.341-openela_0.tar.bz2
c97644d0db5b3de127b048683afee6d31453441d97ba5dea71df5838b13542a4 linux-headers-4.14.341-openela_0.tar.bz2
-78b0cf6d9312e53c613186cbddd5f747310f375c1f322f33a6ac33682d2f3389 m4-1.4.19_0.tar.bz2
-0e3c21b0a1d8ca0c3f74a98ebe268809def62778ff4a486ff20c1d6e8247dc49 m4-1.4.7_0.tar.bz2
-e69554b0a77b419ddd5d0a0e418ba4005ecd0f6784c92a6928a0270bd929a098 make-3.82_0.tar.bz2
-6d24960d6a987f68a7e0e3abf6edb52d2e0fe4c86f6ba45327e9634dbf7d40b4 make-4.2.1_0.tar.bz2
+0ec8f440b9a89a712460eeda60f09e52020338fe01f6513fd90d12ac384d91d2 m4-1.4.19_0.tar.bz2
+d4dff784cac3d58d0cedfd9a51b52ff100ad8654e10a7c8c41590351f48f57d6 m4-1.4.7_0.tar.bz2
+caaf55115075a101bbc35b65eda1e93d37758dd6abc51365b46643db0a974c40 make-3.82_0.tar.bz2
+d9581e8f03f133fb2eafdc4bdfa0f527a5ce50209420d00809388aa0f05b90c7 make-4.2.1_0.tar.bz2
17cd976bc0f6e897c6fffe43dd7c55d93ce0adadf1b4dc72925b80e2d266519f mpc-1.2.1_0.tar.bz2
98a9f55c01ed375fae21913284e7fa07ff434c0810f34d791f3fbaa1df221302 mpfr-4.1.0_0.tar.bz2
-258f247f20dd1544c65f7f978f7399a16e4b655375be7b1d94ad89e24ebaac94 musl-1.1.24_0.tar.bz2
-6966b565124ac639eed3dc38b7a8a8948066d6a1e59e097ff10f5e531ff15e53 musl-1.1.24_1.tar.bz2
-d58d85c4be26d90f111f273929a4998d05294fe5aa37c4842d5aecaa593e6079 musl-1.1.24_2.tar.bz2
-81f79a0faf58e105c5f12d9f538d3ea7578a3b361e633ab8f47324ec23ec9de6 musl-1.2.4_0.tar.bz2
-6dc5e763b747b66f72692c6820d7f46b7f4cf2e2fe05229a1d01c03919c1c936 musl-1.2.4_1.tar.bz2
-820203286127e7c22cee9f1b3cff664431f10d14c3f22f00b3e771fd849fd449 musl-1.2.4_2.tar.bz2
-a18c4b2e5de2bfe5bb3ee9d360484fcfebad3df042f1859d4aa333dd60f55e56 opendoas-6.8.2_0.tar.bz2
-67b536b2f2a6c56e4673e462a3dbe2f42e8a4a5cb0b61b6bc1fdc14adea33f63 openssl-3.0.13_0.tar.bz2
-71864d042cdc564b65eab21360902c714e9b43f80a19689c5600589529b267e7 patch-2.7.6_0.tar.bz2
-287b0a8c0de14a2817e68ab023bfc502a0880d8c34386162351d5ffaf942da70 perl-5.000_0.tar.bz2
-9617799cdc9d4be39d31af54b9bcae47941d68416e9cc9c92cbc2ed08785dbc1 perl-5.003_0.tar.bz2
-74d64a8af080022432fa94dba449090419d25b103d247710dc0b6102a4ad86a6 perl-5.10.1_0.tar.bz2
-5321a3a3bae7d689b085b415f4f445ebf19b801514340879a2b4c1bf97f05533 perl-5.32.1_0.tar.bz2
-d63d2fda752759778ae2d0dd08e6c023a81afbfc63ce11db860fc6858ae26c7f perl-5.6.2_0.tar.bz2
-c39ab70bce0bd09f013109ad7370085e90d77ef2b55abcfdc922d7832524c9cf perl5.004-05_0.tar.bz2
-2ac211ad3cf966dd89434c175970e10699c363b66228abc1642766aeafe2766a perl5.005-03_0.tar.bz2
-1b9d4260edf7b2241d10e4c4ad17d0f90047bd4bf42f2487a7133902529e9dfe pkg-config-0.29.2_0.tar.bz2
-2f7198009e4d021d52ee4ce86241b4936fb88349c20cc8b6c286261368878c3c python-2.0.1_0.tar.bz2
-b5d86ddc98cfbc684b03f1c84c786caaad810d5e4c7be38089f324eb3c276ad9 python-2.0.1_1.tar.bz2
-396577cdd0cc61d76420a1771c64156e49e8f9d00430c82feb88ad933b341632 python-2.3.7_0.tar.bz2
-2499cb7f10f292c3506fbf1b6a876195179ec98edfe7b8c357140137a1449492 python-2.3.7_1.tar.bz2
-80d8fcaf68c82238ddffb120b62fbc20d58bd9e2416cba080547a9f442e9e229 python-2.5.6_0.tar.bz2
-3508248f299b73c50e3607c4c294d40face05170476a5026b0821aed69025863 python-3.1.5_0.tar.bz2
-12b1ffc7ec98ba8f807160b93ba69a694d5395567c3bcac1e49e8f8d1d50de43 python-3.1.5_1.tar.bz2
-abadb0d4d55d42ce722b4da96a075fa46b9b133112d619a9eda32a95c5a14945 python-3.11.1_0.tar.bz2
-60b93253a2078f849f81e7e1ed6233e30702f03b1893640eee95671d814f5514 python-3.3.7_0.tar.bz2
-da7c8ec579dd225c0d8bee63d95aeeb27ac2d5a60d4eefe298508cbf86bf506c python-3.4.10_0.tar.bz2
-af7a8334045fed8bd610b19194c0b46aa670070fc4738c34449ba5e93e49db8a python-3.8.16_0.tar.bz2
-c313520567176dd9bf61a271ee56e06a62e944e862f9dc4564d94b7fc884c8f9 sed-4.0.9_0.tar.bz2
-e8daec00b2c2de7b18efbec057dc9290eed06668806c6f5a48914d4a5cd95eb4 sed-4.8_0.tar.bz2
-ef2f2c791c1ae74f19c98ebcd7edae6ae28bc1d9367cc3a2cdb1ac302a156cb7 shadow-4.14.3_0.tar.bz2
-912d8f344104f1322255d6210c7c7e1371413ab530b2c6796e6aa565c74bf647 tar-1.34_0.tar.bz2
+5c590124471cc8c42b45d863c417314d05d9c89b1a3d61db8a36ba9b459ed391 musl-1.1.24_0.tar.bz2
+fc60028b78ac34eda780478638818c5f587873337cf68f607082a3a81bae28ea musl-1.1.24_1.tar.bz2
+5bf3cd3b9e5e12f88c492ba653006b4325a535ef5581d775f18a1338fc57b457 musl-1.1.24_2.tar.bz2
+d58d85c4be26d90f111f273929a4998d05294fe5aa37c4842d5aecaa593e6079 musl-1.1.24_3.tar.bz2
+f2850bbc8959598c5cf9caadeac2fa006fbdd46eb7a9cd2875bd54d4c112863f musl-1.2.5_0.tar.bz2
+5de7f9b1988762555e5def5b83c187d76cee2936ef30d061a30305a776d9d3ed musl-1.2.5_1.tar.bz2
+178d8ebcba95a60dbac6f4a78ce8babcd3e114560ba14a6e5c89ce8409d43087 musl-1.2.5_2.tar.bz2
+5767025883f6dc9ccfeb966ecdb714948d00b0850626d4a754ac7a0172098818 opendoas-6.8.2_0.tar.bz2
+f00f063a754baf1e00d5d0a76680a74232f5f34d754a17c8fcd853d86cf9c1c6 openssl-3.0.13_0.tar.bz2
+9bfdc11a94ac4ee2e51ebdf099fd129ad9935fb5a5d81871ca6f8ec1c2ac0eb7 patch-2.7.6_0.tar.bz2
+44456a0635dc56351d34bf9701487e562c2c903393db2cc99f5c3a6d2ecf52d4 perl-5.000_0.tar.bz2
+0b7ded1733433323c2056b1005828aaabb8aaca9505839333a8e80f12669f203 perl-5.003_0.tar.bz2
+012cc360816f8f46541dbb988578bcb13985c3130ee3bcf2fb9d63cc994c7e8a perl5.004-05_0.tar.bz2
+a2cbb76d60e5df1ae2439297f9e01fe9903175db600d65efb4a45e3bdaa12eb2 perl5.005-03_0.tar.bz2
+936c7f8f6fdc942a0f674c8169b04f4fd30011c980455cf77c80c494136927ef perl-5.10.1_0.tar.bz2
+8047105ef794a2a99803d671acf9e3bb65b852b57cb0aa62b30f62b7bdc1e3ff perl-5.32.1_0.tar.bz2
+65374665ede69c1b7944daa4658d90b9be21923f395ab0aac8f0fd2162d57705 perl-5.6.2_0.tar.bz2
+5eefece54c40df95f3e330162a57adab691b0036b5a1c103d21ee2026c0b91ea pkg-config-0.29.2_0.tar.bz2
+1d46223a1df9597f991fec88bdfc4cd25cb7d3d0a25a65cc5d5019861fd0f5e0 python-2.0.1_0.tar.bz2
+dde16a4b5e5fa049e394b7f7f8717a94507cbfc8b8ce9bc25b5eea0b19323857 python-2.0.1_1.tar.bz2
+c4dc017b143779911110615f025ee8e6411527b92b0dfb9b6c3b83ae3be888ee python-2.3.7_0.tar.bz2
+0198b78865bf84d1edbf94b062e82bbf7583cbc298f589d755b1f21e38cc5ee7 python-2.3.7_1.tar.bz2
+2dd749e9ca32f30bf254c73e806764261340b7ecaa5ec0fe05ad83ad68e4b3c2 python-2.5.6_0.tar.bz2
+8d6fa373c32917f9b46f24056e70b142d4853a64c144149b4a7b9608f46dd47b python-3.11.1_0.tar.bz2
+6b590de17e11412c76a49828d619f54426720385993ac1218cab817233518270 python-3.1.5_0.tar.bz2
+cd784d79303b3a24083473926e273507ec002292a23fed5fd376ca5bb15de78d python-3.1.5_1.tar.bz2
+aa2499d9024af408e70cdface1c4dd56feb7f2e51ef628b530285960d09c667e python-3.3.7_0.tar.bz2
+e28cbec8738e87a691bfc44e61ca6c1bd43a3babca0c796a35650eafac425aaf python-3.4.10_0.tar.bz2
+81f624fbbadc814c0e6b41157794de8450816324caf1f89bd2ef3fa7db5b96a2 python-3.8.16_0.tar.bz2
+18d517fa1195aa82e3e0eb7f261eb3addb9a43492040b16be04571639781577e sed-4.0.9_0.tar.bz2
+de71facdd9679fbbb0152c40aa3ce88339ce87920508f7781d2b75ccd6acfe67 sed-4.8_0.tar.bz2
+8bdcac89807cc6db6ead178a209fdcbc23116775a354095f360d2a96a5f2d3c9 shadow-4.14.3_0.tar.bz2
+85b683509dc21db7bf4133a3c44cc8aeb88d6d0095de3a5b4aa83bf508d28a2c tar-1.34_0.tar.bz2
b3675b0d72677f30559386e1756e85a0a5065d738bb6206457a5a8d51b8bd0ce tcc-0.9.27_0.tar.bz2
e2c9ea82a1ebf2d5d4c937fa837ddb6fc6835395cf03f3207df40c96b6cafcd8 tcc-0.9.27_1.tar.bz2
4860223e6960ce976e6ad59aa90b69c18a1473684bce59ec8a8b36535405792b tcc-0.9.27_2.tar.bz2
d4fe9460ca561fc2f546f9730f19f541b17dac0bcc42eb190abba856588c3593 tcc-0.9.27_3.tar.bz2
-50ebaa1d8fcc4a03a43d431eb71e2f435cc8712ae47d400564df3716037d553a texinfo-6.7_0.tar.bz2
-59bda6faaa95782154b917a6600cdf932e08cd6bf9388ba40d801baf18e5b454 util-linux-2.19.1_0.tar.bz2
-ecdb7ffeb9256f6a9760be70969fe5dea9cde6a538cc88595281fe44340e98a1 which-2.21_0.tar.bz2
-3fade2079cc91f2c5624ff7247220059caee82e7de493332103d7a78155400b2 xz-5.4.1_0.tar.bz2
+b34002b84a9ff4a719301a1b78f960e8039996ad321daf8aa3b2990f50933e48 texinfo-6.7_0.tar.bz2
+eccc75a240729327a3210bdc87b35293be8413623a98d0af1f62c01f574acaf6 util-linux-2.19.1_0.tar.bz2
+a0b6dd21894593b2ebcbfc9f62b1bd0205bba9e593442e307f02300964248550 which-2.21_0.tar.bz2
+4e775a6b9e31941c7a9cb2012d16fabb353659134f640688a82690e21fa9a120 xz-5.4.1_0.tar.bz2
ca8ec9876a7334f5f87e1159e0efe343b8b497ffb0dea8b548223035ecd67f9e zlib-1.2.13_0.tar.bz2
diff --git a/steps/manifest b/steps/manifest
@@ -64,6 +64,8 @@ build: musl-1.1.24
build: tcc-0.9.27
build: musl-1.1.24
build: tcc-0.9.27
+build: grep-2.4
+build: musl-1.1.24
build: sed-4.0.9
build: bzip2-1.0.8
build: m4-1.4.7
@@ -74,7 +76,6 @@ uninstall: heirloom-devtools-070527
build: bison-3.4.1
build: bison-3.4.1
build: bison-3.4.1
-build: grep-2.4
build: diffutils-2.7
build: coreutils-5.0
build: coreutils-6.10
@@ -111,7 +112,7 @@ build: tcc-0.9.27
improve: populate_device_nodes
build: gcc-4.0.4
build: findutils-4.2.33
-build: musl-1.2.4
+build: musl-1.2.5
build: linux-headers-4.14.341-openela
build: gcc-4.0.4
build: util-linux-2.19.1
@@ -135,7 +136,7 @@ improve: finalize_job_count
improve: finalize_fhs
improve: open_console ( CONSOLES == True )
improve: swap ( SWAP_SIZE != 0 )
-build: musl-1.2.4
+build: musl-1.2.5
build: curl-8.5.0
improve: get_network ( CHROOT == False )
build: bash-5.2.15
@@ -180,7 +181,7 @@ build: which-2.21
build: grep-3.7
build: sed-4.8
build: autogen-5.18.16
-build: musl-1.2.4
+build: musl-1.2.5
build: python-2.0.1
build: python-2.0.1
build: python-2.3.7
diff --git a/steps/musl-1.1.24/files/disable_ctype_headers.patch b/steps/musl-1.1.24/files/disable_ctype_headers.patch
@@ -0,0 +1,53 @@
+SPDX-FileCopyrightText: 2024 fosslinux <fosslinux@aussies.space>
+
+SPDX-License-Identifier: MIT
+
+diff --color -ru include/wchar.h include/wchar.h
+--- musl-chartable-tools-44d780e03e78efcb3168ceab068170206dc92e85/include/wchar.h 2024-12-21 11:29:46.207537390 +1100
++++ musl-chartable-tools-44d780e03e78efcb3168ceab068170206dc92e85/include/wchar.h 2024-12-21 12:03:00.494377416 +1100
+@@ -175,10 +175,7 @@
+ #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+ int wcwidth (wchar_t);
+ int wcswidth (const wchar_t *, size_t);
+-int iswalnum(wint_t);
+-int iswalpha(wint_t);
+ int iswblank(wint_t);
+-int iswcntrl(wint_t);
+ int iswdigit(wint_t);
+ int iswgraph(wint_t);
+ int iswlower(wint_t);
+@@ -187,9 +184,6 @@
+ int iswspace(wint_t);
+ int iswupper(wint_t);
+ int iswxdigit(wint_t);
+-int iswctype(wint_t, wctype_t);
+-wint_t towlower(wint_t);
+-wint_t towupper(wint_t);
+ wctype_t wctype(const char *);
+
+ #ifndef __cplusplus
+diff --color -ru include/wctype.h include/wctype.h
+--- musl-chartable-tools-44d780e03e78efcb3168ceab068170206dc92e85/include/wctype.h 2024-12-21 11:29:46.207537390 +1100
++++ musl-chartable-tools-44d780e03e78efcb3168ceab068170206dc92e85/include/wctype.h 2024-12-21 12:07:48.030354351 +1100
+@@ -24,10 +24,7 @@
+
+ #undef iswdigit
+
+-int iswalnum(wint_t);
+-int iswalpha(wint_t);
+ int iswblank(wint_t);
+-int iswcntrl(wint_t);
+ int iswdigit(wint_t);
+ int iswgraph(wint_t);
+ int iswlower(wint_t);
+@@ -36,10 +33,6 @@
+ int iswspace(wint_t);
+ int iswupper(wint_t);
+ int iswxdigit(wint_t);
+-int iswctype(wint_t, wctype_t);
+-wint_t towctrans(wint_t, wctrans_t);
+-wint_t towlower(wint_t);
+-wint_t towupper(wint_t);
+ wctrans_t wctrans(const char *);
+ wctype_t wctype(const char *);
+
diff --git a/steps/musl-1.1.24/pass1.sh b/steps/musl-1.1.24/pass1.sh
@@ -5,6 +5,13 @@
src_prepare() {
default
+ # meslibc is insufficient to regenerate src/ctype or src/iconv
+ # disable everything using a generated header
+ patch -Np1 -i ../../files/disable_ctype_headers.patch
+ rm src/ctype/iswalpha.c src/ctype/iswalnum.c src/ctype/iswctype.c \
+ src/ctype/towctrans.c
+ rm include/iconv.h src/locale/iconv.c src/locale/iconv_close.c
+
# tcc does not support complex types
rm -rf src/complex
diff --git a/steps/musl-1.1.24/pass3.sh b/steps/musl-1.1.24/pass3.sh
@@ -7,6 +7,9 @@ src_prepare() {
# tcc does not support complex types
rm -rf src/complex
+
+ # Configure fails without this
+ mkdir -p /dev
}
src_configure() {
@@ -15,7 +18,7 @@ src_configure() {
--disable-shared \
--prefix="${PREFIX}" \
--libdir="${LIBDIR}" \
- --includedir="${PREFIX}/include"
+ --includedir="${PREFIX}/include/"
# configure script creates this file
if test -f /dev/null; then
@@ -24,9 +27,5 @@ src_configure() {
}
src_compile() {
- make "${MAKEJOBS}" PREFIX="${PREFIX}" CROSS_COMPILE= CFLAGS="-DSYSCALL_NO_TLS" AS_CMD='as -o $@ $<'
-}
-
-src_install() {
- make PREFIX="${PREFIX}" DESTDIR="${DESTDIR}" install
+ make "${MAKEJOBS}" CROSS_COMPILE= AR="tcc -ar" RANLIB=true CFLAGS="-DSYSCALL_NO_TLS"
}
diff --git a/steps/musl-1.1.24/pass3.sh b/steps/musl-1.1.24/pass4.sh
diff --git a/steps/musl-1.1.24/patches-pass3/avoid_set_thread_area.patch b/steps/musl-1.1.24/patches-pass3/avoid_set_thread_area.patch
@@ -1 +0,0 @@
-../patches/avoid_set_thread_area.patch
-\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass3/avoid_sys_clone.patch b/steps/musl-1.1.24/patches-pass3/avoid_sys_clone.patch
@@ -1 +0,0 @@
-../patches/avoid_sys_clone.patch
-\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass3/madvise_preserve_errno.patch b/steps/musl-1.1.24/patches-pass3/madvise_preserve_errno.patch
@@ -1 +0,0 @@
-../patches/madvise_preserve_errno.patch
-\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass3/set_thread_area.patch b/steps/musl-1.1.24/patches-pass3/set_thread_area.patch
@@ -1 +0,0 @@
-../patches/set_thread_area.patch
-\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass3/va_list.patch b/steps/musl-1.1.24/patches-pass3/va_list.patch
@@ -1 +0,0 @@
-../patches/va_list.patch
-\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass4/avoid_set_thread_area.patch b/steps/musl-1.1.24/patches-pass4/avoid_set_thread_area.patch
@@ -0,0 +1 @@
+../patches/avoid_set_thread_area.patch
+\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass4/avoid_sys_clone.patch b/steps/musl-1.1.24/patches-pass4/avoid_sys_clone.patch
@@ -0,0 +1 @@
+../patches/avoid_sys_clone.patch
+\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass4/madvise_preserve_errno.patch b/steps/musl-1.1.24/patches-pass4/madvise_preserve_errno.patch
@@ -0,0 +1 @@
+../patches/madvise_preserve_errno.patch
+\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass4/set_thread_area.patch b/steps/musl-1.1.24/patches-pass4/set_thread_area.patch
@@ -0,0 +1 @@
+../patches/set_thread_area.patch
+\ No newline at end of file
diff --git a/steps/musl-1.1.24/patches-pass4/va_list.patch b/steps/musl-1.1.24/patches-pass4/va_list.patch
@@ -0,0 +1 @@
+../patches/va_list.patch
+\ No newline at end of file
diff --git a/steps/musl-1.2.4/files/__stack_chk_fail_local.c b/steps/musl-1.2.4/files/__stack_chk_fail_local.c
@@ -1,8 +0,0 @@
-/*
- * SPDX-FileCopyrightText: 2020 Timo Teräs <timo.teras@iki.fi>
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
-
-extern void __stack_chk_fail(void);
-void __attribute__((visibility ("hidden"))) __stack_chk_fail_local(void) { __stack_chk_fail(); }
diff --git a/steps/musl-1.2.4/pass2.sh b/steps/musl-1.2.4/pass2.sh
@@ -1 +0,0 @@
-pass1.sh
-\ No newline at end of file
diff --git a/steps/musl-1.2.4/patches-pass3 b/steps/musl-1.2.4/patches-pass3
@@ -1 +0,0 @@
-patches-pass2
-\ No newline at end of file
diff --git a/steps/musl-1.2.4/patches/avoid_set_thread_area.patch b/steps/musl-1.2.4/patches/avoid_set_thread_area.patch
@@ -1,50 +0,0 @@
-# SPDX-FileCopyrightText: 2023 Richard Masters <grick23@gmail.com>
-# SPDX-License-Identifier: MIT
-diff -r -u musl-1.2.3.orig/arch/i386/pthread_arch.h musl-1.2.3/arch/i386/pthread_arch.h
---- musl-1.2.4/arch/i386/pthread_arch.h 2022-04-07 17:12:40.000000000 +0000
-+++ musl-1.2.4/arch/i386/pthread_arch.h 2023-04-07 12:07:07.929132587 +0000
-@@ -1,8 +1,7 @@
-+extern uintptr_t g_pthread;
- static inline uintptr_t __get_tp()
- {
-- uintptr_t tp;
-- __asm__ ("movl %%gs:0,%0" : "=r" (tp) );
-- return tp;
-+ return g_pthread;
- }
-
- #define MC_PC gregs[REG_EIP]
-diff -r -u musl-1.2.3.orig/arch/i386/syscall_arch.h musl-1.2.3/arch/i386/syscall_arch.h
---- musl-1.2.4/arch/i386/syscall_arch.h 2022-04-07 17:12:40.000000000 +0000
-+++ musl-1.2.4/arch/i386/syscall_arch.h 2022-12-20 17:28:21.734839560 +0000
-@@ -1,3 +1,4 @@
-+#define SYSCALL_NO_TLS 1
- #define __SYSCALL_LL_E(x) \
- ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
- ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
-diff -r -u musl-1.2.3.orig/src/env/__init_tls.c musl-1.2.3/src/env/__init_tls.c
---- musl-1.2.4/src/env/__init_tls.c 2022-04-07 17:12:40.000000000 +0000
-+++ musl-1.2.4/src/env/__init_tls.c 2023-04-07 12:07:38.677133193 +0000
-@@ -10,20 +10,19 @@
- #include "syscall.h"
-
- volatile int __thread_list_lock;
-+uintptr_t g_pthread;
-
- int __init_tp(void *p)
- {
- pthread_t td = p;
- td->self = td;
-- int r = __set_thread_area(TP_ADJ(p));
-- if (r < 0) return -1;
-- if (!r) libc.can_do_threads = 1;
- td->detach_state = DT_JOINABLE;
- td->tid = __syscall(SYS_set_tid_address, &__thread_list_lock);
- td->locale = &libc.global_locale;
- td->robust_list.head = &td->robust_list.head;
- td->sysinfo = __sysinfo;
- td->next = td->prev = td;
-+ g_pthread = (uintptr_t) td;
- return 0;
- }
-
diff --git a/steps/musl-1.2.4/patches/avoid_sys_clone.patch b/steps/musl-1.2.4/patches/avoid_sys_clone.patch
@@ -1,18 +0,0 @@
-# SPDX-FileCopyrightText: 2023 Richard Masters <grick23@gmail.com>
-# SPDX-License-Identifier: MIT
---- musl-1.2.4/src/process/posix_spawn.c 2022-04-07 17:12:40.000000000 +0000
-+++ musl-1.2.4/src/process/posix_spawn.c 2023-04-07 12:01:57.217126467 +0000
-@@ -190,8 +190,11 @@
- goto fail;
- }
-
-- pid = __clone(child, stack+sizeof stack,
-- CLONE_VM|CLONE_VFORK|SIGCHLD, &args);
-+ pid = fork();
-+ if (pid == 0) {
-+ _exit(child(&args));
-+ }
-+
- close(args.p[1]);
- UNLOCK(__abort_lock);
-
diff --git a/steps/musl-1.2.4/sources b/steps/musl-1.2.4/sources
@@ -1 +0,0 @@
-https://musl.libc.org/releases/musl-1.2.4.tar.gz 7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039
diff --git a/steps/musl-1.2.4/files/ld-musl-i386.path b/steps/musl-1.2.5/files/ld-musl-i386.path
diff --git a/steps/musl-1.2.4/files/ld-musl-i386.path.license b/steps/musl-1.2.5/files/ld-musl-i386.path.license
diff --git a/steps/musl-1.2.4/pass1.sh b/steps/musl-1.2.5/pass1.sh
diff --git a/steps/musl-1.2.5/pass2.sh b/steps/musl-1.2.5/pass2.sh
@@ -0,0 +1 @@
+pass1.sh
+\ No newline at end of file
diff --git a/steps/musl-1.2.4/pass3.sh b/steps/musl-1.2.5/pass3.sh
diff --git a/steps/musl-1.2.4/patches-pass2/.keep b/steps/musl-1.2.5/patches-pass2/.keep
diff --git a/steps/musl-1.2.5/patches-pass3 b/steps/musl-1.2.5/patches-pass3
@@ -0,0 +1 @@
+patches-pass2
+\ No newline at end of file
diff --git a/steps/musl-1.2.5/patches/avoid_set_thread_area.patch b/steps/musl-1.2.5/patches/avoid_set_thread_area.patch
@@ -0,0 +1,50 @@
+# SPDX-FileCopyrightText: 2023 Richard Masters <grick23@gmail.com>
+# SPDX-License-Identifier: MIT
+diff -r -u musl-1.2.3.orig/arch/i386/pthread_arch.h musl-1.2.3/arch/i386/pthread_arch.h
+--- musl-1.2.5/arch/i386/pthread_arch.h 2022-04-07 17:12:40.000000000 +0000
++++ musl-1.2.5/arch/i386/pthread_arch.h 2023-04-07 12:07:07.929132587 +0000
+@@ -1,8 +1,7 @@
++extern uintptr_t g_pthread;
+ static inline uintptr_t __get_tp()
+ {
+- uintptr_t tp;
+- __asm__ ("movl %%gs:0,%0" : "=r" (tp) );
+- return tp;
++ return g_pthread;
+ }
+
+ #define MC_PC gregs[REG_EIP]
+diff -r -u musl-1.2.3.orig/arch/i386/syscall_arch.h musl-1.2.3/arch/i386/syscall_arch.h
+--- musl-1.2.5/arch/i386/syscall_arch.h 2022-04-07 17:12:40.000000000 +0000
++++ musl-1.2.5/arch/i386/syscall_arch.h 2022-12-20 17:28:21.734839560 +0000
+@@ -1,3 +1,4 @@
++#define SYSCALL_NO_TLS 1
+ #define __SYSCALL_LL_E(x) \
+ ((union { long long ll; long l[2]; }){ .ll = x }).l[0], \
+ ((union { long long ll; long l[2]; }){ .ll = x }).l[1]
+diff -r -u musl-1.2.3.orig/src/env/__init_tls.c musl-1.2.3/src/env/__init_tls.c
+--- musl-1.2.5/src/env/__init_tls.c 2022-04-07 17:12:40.000000000 +0000
++++ musl-1.2.5/src/env/__init_tls.c 2023-04-07 12:07:38.677133193 +0000
+@@ -10,20 +10,19 @@
+ #include "syscall.h"
+
+ volatile int __thread_list_lock;
++uintptr_t g_pthread;
+
+ int __init_tp(void *p)
+ {
+ pthread_t td = p;
+ td->self = td;
+- int r = __set_thread_area(TP_ADJ(p));
+- if (r < 0) return -1;
+- if (!r) libc.can_do_threads = 1;
+ td->detach_state = DT_JOINABLE;
+ td->tid = __syscall(SYS_set_tid_address, &__thread_list_lock);
+ td->locale = &libc.global_locale;
+ td->robust_list.head = &td->robust_list.head;
+ td->sysinfo = __sysinfo;
+ td->next = td->prev = td;
++ g_pthread = (uintptr_t) td;
+ return 0;
+ }
+
diff --git a/steps/musl-1.2.5/patches/avoid_sys_clone.patch b/steps/musl-1.2.5/patches/avoid_sys_clone.patch
@@ -0,0 +1,18 @@
+# SPDX-FileCopyrightText: 2023 Richard Masters <grick23@gmail.com>
+# SPDX-License-Identifier: MIT
+--- musl-1.2.5/src/process/posix_spawn.c 2022-04-07 17:12:40.000000000 +0000
++++ musl-1.2.5/src/process/posix_spawn.c 2023-04-07 12:01:57.217126467 +0000
+@@ -190,8 +190,11 @@
+ goto fail;
+ }
+
+- pid = __clone(child, stack+sizeof stack,
+- CLONE_VM|CLONE_VFORK|SIGCHLD, &args);
++ pid = fork();
++ if (pid == 0) {
++ _exit(child(&args));
++ }
++
+ close(args.p[1]);
+ UNLOCK(__abort_lock);
+
diff --git a/steps/musl-1.2.5/sources b/steps/musl-1.2.5/sources
@@ -0,0 +1 @@
+https://musl.libc.org/releases/musl-1.2.5.tar.gz a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4