mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-23 11:36:32 +01:00
Merge branch 'master' into tcc_bootstrap_alt-refactor-improve
This commit is contained in:
commit
dcb0134de8
26 changed files with 843 additions and 462 deletions
|
|
@ -16,29 +16,29 @@ d5fcce4baea5e11f983a7e4b7148545ab6720bb4e010898c73387f6711be67f4 autoconf-2.64_
|
|||
57100612d902537b72ee2fd3dfecc903f2ea3959f1a480af87c6a1ef9a9d7c03 automake-1.16.3_0.tar.bz2
|
||||
1c7e09ac08f156960420fca1f6e8560c1855bf01b001a0648b56153d6ceb9c28 automake-1.6.3_0.tar.bz2
|
||||
444131776779d1f27628088a817bfb8c9aa85f4b036b934794a71e484ec9bd70 automake-1.6.3_1.tar.bz2
|
||||
ef08694bf8e78ffcf56f9c8a63b0f189e301c06f02ab240e15e4c7fe354c2a0d automake-1.7_0.tar.bz2
|
||||
e8ff13753943e43972a8cf1672819f001718ed38e5497cf7b554c21a507ba22b automake-1.7.8_0.tar.bz2
|
||||
ef08694bf8e78ffcf56f9c8a63b0f189e301c06f02ab240e15e4c7fe354c2a0d automake-1.7_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
|
||||
3126d6539138d8078bd13d7f8b7b3e2ca4719e3c49d98f8490c0f061bf72d18f binutils-2.30_0.tar.bz2
|
||||
b21f77069ca847268c115b7305da5927acebc59d89e9cd82d8ac416c126f3f0b 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
|
||||
cb93657e111253d3ed8935686d50a55bed0ebc4c3bed045d659ba9058ba0fea1 bison-3.4.1_0.tar.bz2
|
||||
2b79a739789a70a5f968c4b41c4f526bffef07fb36df4358121685630c0c9969 bison-3.4.1_1.tar.bz2
|
||||
41340ed0e496f9e120058f41eaa43b4c9f9e535d8be2d0dc277551b5995a141b bison-3.4.1_2.tar.bz2
|
||||
76cb8b9752d82afa28789ccd5dcb9fd7ee44b605c2fd0fd5800e88c75f77593e bison-3.4.1_0.tar.bz2
|
||||
485d20ada934b700460404ceef934788c6e0bd3e3c7be0ac4e8f337909a9e3d9 bison-3.4.1_1.tar.bz2
|
||||
fcaab66694e70e8780b96e2d0dfd3c913427a741b494f820b595eb9617460e3e bison-3.4.1_2.tar.bz2
|
||||
6d5e4debdec03aee096dbcefcad878fb5c6a069f895ee7ade878d9eeb97fb83e bison-3.4.2_0.tar.bz2
|
||||
9ba54901cb606fa71476c828a215de0c738470f91ed9fd27d8ceb6a23f14d895 bzip2-1.0.8_0.tar.bz2
|
||||
ca7403a7503e8f3bb55e6c5bd54571b8c061b11c96e50ee89e006df6011d1518 bzip2-1.0.8_0.tar.bz2
|
||||
543214998317d764595d3dd247a1fb2e0803ad77978b8474bd24d64c161b9530 ca-certificates-3.95_0.tar.bz2
|
||||
e790ce4bd86869a93a435aca28658a70e33049388058580bd8da453e2cb03603 coreutils-5.0_0.tar.bz2
|
||||
34c9558f0101773b67bc4e0c9148543e65435344d004396e629d110f0392d3bd coreutils-6.10_0.tar.bz2
|
||||
7450bb38caaa633f8c11269fed44eb680c6ba03bb0e19c18fce3b2450f80e358 coreutils-5.0_0.tar.bz2
|
||||
c95fd8c51c3bfbd4d08a4a50d0033ee85394e6efe4ff82703c050e4dbc4347bf coreutils-6.10_0.tar.bz2
|
||||
f49900486ae7f0c8107d729b71ede155ee44544cdf8d562b50fbea4095bd05b2 coreutils-8.32_0.tar.bz2
|
||||
6a10f5258650ae75e92eb7aa1a5e6107b72c8b6419a4f64272262a1545c43161 curl-8.5.0_0.tar.bz2
|
||||
f9efd6600ceb91918078078ff44a33f2a4fb4a59edb804866aebd288c2cfb24e curl-8.5.0_1.tar.bz2
|
||||
1d4dec2d1885a6b5499a0f0d55e9c2c65dab532c4c593d848b6a542f67789627 dhcpcd-10.0.1_0.tar.bz2
|
||||
0858dc91cf8a6c00d04ec50c31ce06d80f930b28d188d636dacbbbb593b284e9 diffutils-2.7_0.tar.bz2
|
||||
abb9f6fe46c57ea809100b71497e04905deaad345d64485532bf6ef7f2a07f2c diffutils-2.7_0.tar.bz2
|
||||
bda6afcd3a390a34a57443269a4857ccc470129f7a557981778c145fd841cbd1 dist-3.5-236_0.tar.bz2
|
||||
3a4c5143a241364019afd39af067f1e8433bab78b04096870d9bf2c70ec6ded8 e2fsprogs-1.45.7_0.tar.bz2
|
||||
9c6f7e156f299f1d0948537e28f00d40e727a3debae3cce158e9bce827136214 ed-1.4_0.tar.bz2
|
||||
|
|
@ -46,8 +46,8 @@ bda6afcd3a390a34a57443269a4857ccc470129f7a557981778c145fd841cbd1 dist-3.5-236_0
|
|||
eec07e0d710ed3dd8d0ba6a1ec6ca9f1fa3a611bbb225195435679175317bf90 findutils-4.2.33_0.tar.bz2
|
||||
41902ec0383ea977a8d008dee37150e022e0714cd99f54c37f29c153464b758a flex-2.5.11_0.tar.bz2
|
||||
b3a8d59229289ca5a1de6a24c9c828d2847144f6662e0d5b7f41e7ff6e57abaa flex-2.5.33_0.tar.bz2
|
||||
349c9a7cb1c90533627fb6c97f2e3cf7ae57a49a4e92ed46d660bbecacd07433 flex-2.6.4_0.tar.bz2
|
||||
b12ef4701c3d2e531e314776a858effb49a33595d901663263a4273a8a59d77c gawk-3.0.4_0.tar.bz2
|
||||
57f72a4d1cb89dc1e59af0228fddc0ea97a3588984114f702f142c82aeeef493 flex-2.6.4_0.tar.bz2
|
||||
f0f1471e4a5ff95749bd655c145311cc03eec80525f2bb0b9b3ac3ff8be29e0b gawk-3.0.4_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
|
||||
|
|
@ -57,7 +57,7 @@ c1bf792e90df13bf7a24d3f8ce3939fd96ff61b8117e4dcef75605974f3fcf25 gcc-4.0.4_1.ta
|
|||
dc67fc1b132fa3945349efe74c5b2197bd0b6babf4d29d2deddd04f09d9af680 gettext-0.21_0.tar.bz2
|
||||
309282ba840f80b5e10897b1221f3ff3329b9e05b982c788d03652f411974524 gmp-6.2.1_0.tar.bz2
|
||||
62edfa633f64202b2d29199d11d56a897654a441c7ae39a4d59ca5fe75199f61 gperf-3.1_0.tar.bz2
|
||||
23d6f3bf4a60708ebc66d778c536616a728b378defff9f39ee9d1c2fd0cfdd87 grep-2.4_0.tar.bz2
|
||||
276e073496931ff7d4caaabb53079412b88de953def88aec966c1f8506293e88 grep-2.4_0.tar.bz2
|
||||
8e612afb9a439aa8bf5db0fc2589eec890a6017690412d5c8e88a5838730b42c grep-3.7_0.tar.bz2
|
||||
e2a85aad6d51e52c9a30afeed058f95172fde1215f77243549274672990f6237 guile-3.0.9_0.tar.bz2
|
||||
8d2015b87337abbf287f7a39ee4cf53514120b5d3e90a93fe7d533dcc43f14fa help2man-1.36.4_0.tar.bz2
|
||||
|
|
@ -70,47 +70,47 @@ b39826742e236890f3562cdf19492e7ef4224b271f3e75ddeab1f07982b03ebe libffi-3.3_0.t
|
|||
daae709e98d2df2190d1d13b4e86f7f3fe90fa7a975282fe0bb03289b6539f29 libtool-2.2.4_0.tar.bz2
|
||||
6cefa575362149620f8008a32c8af54f0198a18bc6ab910bd3cead196c1507d7 libtool-2.4.7_0.tar.bz2
|
||||
503007bbcddcf4e49d26514c59b4c9501f8b42f0c994a59dfdc388b1ae6b7900 libunistring-0.9.10_0.tar.bz2
|
||||
fd2264a08cbeeb28f3e2580cba174376a154c77b0ef6cbf67b55fd13c0987f52 linux-4.9.10_0.tar.bz2
|
||||
576c04a4b2ccbfe6b48f5f16e8bd59469e359bdc77458ed82a4025da98ad6dcb linux-4.9.10_0.tar.bz2
|
||||
d15c922973c15a8206e09020e8cfe6a78f7e93614de212f2b37ff80163799c6c linux-headers-4.9.10_0.tar.bz2
|
||||
fdb3dce8af3eb6c0745f103989f1bae0bfe9156390215f97240a75ed77ae4acd m4-1.4.7_0.tar.bz2
|
||||
bd3885a389d3e058081e099850f95aa7938ce1d9b88a187aea6b7196124fbcfe m4-1.4.7_0.tar.bz2
|
||||
e69554b0a77b419ddd5d0a0e418ba4005ecd0f6784c92a6928a0270bd929a098 make-3.82_0.tar.bz2
|
||||
6d24960d6a987f68a7e0e3abf6edb52d2e0fe4c86f6ba45327e9634dbf7d40b4 make-4.2.1_0.tar.bz2
|
||||
17cd976bc0f6e897c6fffe43dd7c55d93ce0adadf1b4dc72925b80e2d266519f mpc-1.2.1_0.tar.bz2
|
||||
98a9f55c01ed375fae21913284e7fa07ff434c0810f34d791f3fbaa1df221302 mpfr-4.1.0_0.tar.bz2
|
||||
2fbbd3d8e56173aa6950fb2d5be9b1af6b25735ac7ba79e1938fff232a801418 musl-1.1.24_0.tar.bz2
|
||||
5fe0f457fd577bfbef98d85cc572ce3a30e17c004eeff18a298a6db13126ea61 musl-1.1.24_1.tar.bz2
|
||||
3561678ad3b8ed5a085cdd86baefb18a675c3cecca8e6e8e086b17007e918370 musl-1.1.24_0.tar.bz2
|
||||
40a35b525f21dce1007e17a3557677d49477df753e715579c37438d5581b0dcd 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
|
||||
c490016e49bbf77e7f63071f7aa60e8290a0c67f017846def1c3f65bd10d5712 openssl-1.1.1l_0.tar.bz2
|
||||
71864d042cdc564b65eab21360902c714e9b43f80a19689c5600589529b267e7 patch-2.7.6_0.tar.bz2
|
||||
35dff94213d6b4648ac857daff76817048723acc01a07b428f031be854b0dc63 perl-5.000_0.tar.bz2
|
||||
ea93a29bd049af498e34ceebed4f1b747aed1713bd2d787e03b65c1031806e71 perl-5.003_0.tar.bz2
|
||||
a6afef8623ffddd4d50c1688d5c6a03a696e9d06ae903412bf99edb2d6b65a6d perl5.004-05_0.tar.bz2
|
||||
485c76bec0aa901de0c4cfce00e3e7a203d7342895cce60dbc9162fd8a999e90 perl5.005-03_0.tar.bz2
|
||||
5ae7fe43d62d1064c123d9813017015e5e8d5107d0e70f0199576141416ff81d perl-5.000_0.tar.bz2
|
||||
4994c55e3832649600f190079bd4779c463478a092b167098b1d00eff3358fbe perl-5.003_0.tar.bz2
|
||||
74d64a8af080022432fa94dba449090419d25b103d247710dc0b6102a4ad86a6 perl-5.10.1_0.tar.bz2
|
||||
fdccd3ba27a44d2149f159040414a04b39bfc72673ba36f50051b61199cc425c perl-5.32.1_0.tar.bz2
|
||||
f9e5cd15fa976ba1b3892640bb2f39b35e0cd1147bf98a92d26e3ab1dc6b86f3 perl-5.6.2_0.tar.bz2
|
||||
101a791b6843b997ec10d5ce6dc32af2637f687772674eb6f1cdc1c8ff836a03 perl-5.6.2_0.tar.bz2
|
||||
ae6c84e55c2d9bcd7b80bf780ae6921fe890608123c9ba904e1b7d90759ade3d perl5.004-05_0.tar.bz2
|
||||
8cedd2240bbbd5bca65a1362998ed73884756aa7ff5208226d3fa22c68868052 perl5.005-03_0.tar.bz2
|
||||
1b9d4260edf7b2241d10e4c4ad17d0f90047bd4bf42f2487a7133902529e9dfe pkg-config-0.29.2_0.tar.bz2
|
||||
1e882c3206f9d1de2a9be8b5c6ae4cc65e80a4de607bd521058577bf4169c0e9 python-2.0.1_0.tar.bz2
|
||||
aba9710341db75b78c7bc1eb4ef45b9496e23f7a356128af6c2b116ee0f3f31a python-2.0.1_1.tar.bz2
|
||||
d497c9b614194b941620bb5c5111fc72eca8cafd7d4f476eacb24fb7f909b614 python-2.3.7_0.tar.bz2
|
||||
8a977205933431c2a4207f647cb683b570dfdb0146e21abf5fab3f8426e1356b python-2.3.7_1.tar.bz2
|
||||
34e5083ed3e72da5aa5950acebf9e95464089d693e3d6a047a2b69b6103f5ca9 python-2.5.6_0.tar.bz2
|
||||
52ffb1ea6f2b893a6fd26f930c8ff63f78ddcc31ac3ec9c2ddade555205aa1ef python-3.11.1_0.tar.bz2
|
||||
3508248f299b73c50e3607c4c294d40face05170476a5026b0821aed69025863 python-3.1.5_0.tar.bz2
|
||||
12b1ffc7ec98ba8f807160b93ba69a694d5395567c3bcac1e49e8f8d1d50de43 python-3.1.5_1.tar.bz2
|
||||
52ffb1ea6f2b893a6fd26f930c8ff63f78ddcc31ac3ec9c2ddade555205aa1ef python-3.11.1_0.tar.bz2
|
||||
60b93253a2078f849f81e7e1ed6233e30702f03b1893640eee95671d814f5514 python-3.3.7_0.tar.bz2
|
||||
da7c8ec579dd225c0d8bee63d95aeeb27ac2d5a60d4eefe298508cbf86bf506c python-3.4.10_0.tar.bz2
|
||||
0be505f63205b4bc1b1421896c610468ad1a2194bbc4c9abf58f61685c2023d1 python-3.8.16_0.tar.bz2
|
||||
6874e16afb9a0cfa960416f0ce721e81b4cfb48992e827788df0ed1feb47df1d sed-4.0.9_0.tar.bz2
|
||||
34c51d3df85585a8aee7691b3500a5c3c7442b06a6f57231b76970bdd6e99bf9 sed-4.0.9_0.tar.bz2
|
||||
e8daec00b2c2de7b18efbec057dc9290eed06668806c6f5a48914d4a5cd95eb4 sed-4.8_0.tar.bz2
|
||||
912d8f344104f1322255d6210c7c7e1371413ab530b2c6796e6aa565c74bf647 tar-1.34_0.tar.bz2
|
||||
d5d0df210248a385ae255cc5651369108e9a71fa8668821a6b1ed30a8d7364a1 tcc-0.9.27_0.tar.bz2
|
||||
53703e68b3d5597dc05b0982331ad87e437f616165e1a289d429d54773ab02fc tcc-0.9.27_1.tar.bz2
|
||||
74c26384d3bde54a4d0bac4242559593872f6dcfc5856acbe2c4aea5dd62f941 tcc-0.9.27_2.tar.bz2
|
||||
0f7e12be49c697a2758a6e1acae736b3bac208eacfeae1e5155d8159f9a30bd2 tcc-0.9.27_3.tar.bz2
|
||||
1667937d5d646f2bb7ec7ab54a23ddd65a0ae3ca7d5e597f3fbcd5163031d2ef tcc-0.9.27_0.tar.bz2
|
||||
b20cea098c8ff635a0ce9f99430d7c9a75d081194941ab54dc92dbc8af3776a4 tcc-0.9.27_1.tar.bz2
|
||||
8e8cc802fccdb907cd74501dccce1ee85ffb0150b33b4719f86d6720f5b09a7a tcc-0.9.27_2.tar.bz2
|
||||
d4fe9460ca561fc2f546f9730f19f541b17dac0bcc42eb190abba856588c3593 tcc-0.9.27_3.tar.bz2
|
||||
50ebaa1d8fcc4a03a43d431eb71e2f435cc8712ae47d400564df3716037d553a texinfo-6.7_0.tar.bz2
|
||||
229d9189adac10ad2a2c76fc147a4c317fc5b34026cef1c47edc9159aee480da util-linux-2.19.1_0.tar.bz2
|
||||
ecdb7ffeb9256f6a9760be70969fe5dea9cde6a538cc88595281fe44340e98a1 which-2.21_0.tar.bz2
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
lib.a: allocator.o areadlink.o argmatch.o asnprintf.o basename.o basename-lgpl.o binary-io.o bitrotate.o bitset.o bitsetv.o calloc.o canonicalize-lgpl.o careadlinkat.o c-ctype.o cloexec.o close.o closeout.o close-stream.o concat-filename.o c-strcasecmp.o c-strncasecmp.o dirname.o dirname-lgpl.o dup2.o dup-safer.o dup-safer-flag.o exitfail.o fatal-signal.o fd-hook.o fd-safer.o fd-safer-flag.o fopen.o fopen-safer.o fprintf.o frexp.o frexpl.o fstat.o getdtablesize.o get-errno.o gethrxtime.o getopt.o getprogname.o getrusage.o gettime.o gettimeofday.o gl_array_list.o gl_list.o gl_xlist.o hard-locale.o hash.o isnan.o isnand.o isnanf.o isnanl.o itold.o ldexpl.o localcharset.o localtime-buffer.o lstat.o main.o malloca.o malloc.o math.o mbrtowc.o mbsinit.o mbswidth.o memchr.o msvc-inval.o obstack.o obstack_printf.o open.o path-join.o perror.o pipe2-safer.o pipe-safer.o printf-args.o printf.o printf-frexp.o printf-frexpl.o printf-parse.o progname.o progreloc.o quotearg.o raise.o rawmemchr.o readlink.o realloc.o relocatable.o rename.o rmdir.o setenv.o sig-handler.o signbitd.o signbitf.o signbitl.o spawnattr_destroy.o spawnattr_init.o sprintf.o stat.o stat-time.o stat-w32.o stpcpy.o strchrnul.o strdup.o strerror.o stripslash.o strndup.o strnlen.o strverscmp.o timespec.o timevar.o unistd.o unlink.o unsetenv.o vasnprintf.o wait-process.o wctype-h.o xalloc-die.o xconcat-filename.o xmalloc.o xmemdup0.o xreadlink.o xsize.o xstrndup.o xtime.o yyerror.o error.o bitset/array.o bitset/list.o bitset/stats.o bitset/table.o bitset/vector.o fseterr.o spawn-pipe.o
|
||||
lib.a: allocator.o areadlink.o argmatch.o asnprintf.o basename.o basename-lgpl.o binary-io.o bitrotate.o bitset.o bitsetv.o calloc.o canonicalize-lgpl.o careadlinkat.o c-ctype.o cloexec.o close.o closeout.o close-stream.o concat-filename.o c-strcasecmp.o c-strncasecmp.o dirname.o dirname-lgpl.o dup2.o dup-safer.o dup-safer-flag.o exitfail.o fatal-signal.o fd-hook.o fd-safer.o fd-safer-flag.o fopen.o fopen-safer.o fprintf.o frexp.o frexpl.o fstat.o getdtablesize.o get-errno.o gethrxtime.o getprogname.o getrusage.o gettime.o gettimeofday.o gl_array_list.o gl_list.o gl_xlist.o hard-locale.o hash.o isnan.o isnand.o isnanf.o isnanl.o itold.o ldexpl.o localcharset.o localtime-buffer.o lstat.o main.o malloca.o malloc.o math.o mbrtowc.o mbsinit.o mbswidth.o memchr.o msvc-inval.o obstack.o obstack_printf.o open.o path-join.o perror.o pipe2-safer.o pipe-safer.o printf-args.o printf.o printf-frexp.o printf-frexpl.o printf-parse.o progname.o progreloc.o quotearg.o raise.o rawmemchr.o readlink.o realloc.o relocatable.o rename.o rmdir.o setenv.o sig-handler.o signbitd.o signbitf.o signbitl.o spawnattr_destroy.o spawnattr_init.o sprintf.o stat.o stat-time.o stat-w32.o stpcpy.o strchrnul.o strdup.o strerror.o stripslash.o strndup.o strnlen.o strverscmp.o timespec.o timevar.o unistd.o unlink.o unsetenv.o vasnprintf.o wait-process.o wctype-h.o xalloc-die.o xconcat-filename.o xmalloc.o xmemdup0.o xreadlink.o xsize.o xstrndup.o xtime.o yyerror.o error.o bitset/array.o bitset/list.o bitset/stats.o bitset/table.o bitset/vector.o fseterr.o spawn-pipe.o
|
||||
$(AR) r $@ $^
|
||||
|
||||
%.o: %.c
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ ALL=$(BINARIES) $(SRC_DIR)/cp $(SRC_DIR)/ls $(SRC_DIR)/install $(SRC_DIR)/md5sum
|
|||
all: $(BINARIES) $(SRC_DIR)/cp $(SRC_DIR)/ls $(SRC_DIR)/install $(SRC_DIR)/md5sum $(SRC_DIR)/mv $(SRC_DIR)/rm $(SRC_DIR)/sha1sum
|
||||
|
||||
LIB_DIR = lib
|
||||
LIB_SRC = acl alloca posixtm posixver strftime getopt getopt1 hash hash-pjw addext argmatch backupfile basename canon-host closeout cycle-check diacrit dirname dup-safer error exclude exitfail filemode __fpending file-type fnmatch fopen-safer full-read full-write getline getstr gettime hard-locale human idcache isdir imaxtostr linebuffer localcharset long-options makepath mbswidth md5 memcasecmp memcoll modechange offtostr path-concat physmem quote quotearg readtokens rpmatch safe-read safe-write same save-cwd savedir settime sha stpcpy stripslash strtoimax strtoumax umaxtostr unicodeio userspec version-etc xgetcwd xgethostname xmalloc xmemcoll xnanosleep xreadlink xstrdup xstrtod xstrtol xstrtoul xstrtoimax xstrtoumax yesno strnlen getcwd sig2str mountlist regex canonicalize mkstemp memrchr euidaccess ftw obstack strverscmp strftime tsearch stat
|
||||
LIB_SRC = acl alloca posixtm posixver strftime getopt getopt1 hash hash-pjw addext argmatch backupfile basename canon-host closeout cycle-check diacrit dirname dup-safer error exclude exitfail filemode __fpending file-type fnmatch fopen-safer full-read full-write getline getstr gettime hard-locale human idcache isdir imaxtostr linebuffer localcharset long-options makepath mbswidth md5 memcasecmp memcoll modechange offtostr path-concat physmem quote quotearg readtokens rpmatch safe-read safe-write same save-cwd savedir settime sha stpcpy stripslash umaxtostr unicodeio userspec version-etc xgetcwd xgethostname xmalloc xmemcoll xnanosleep xreadlink xstrdup xstrtod xstrtol xstrtoul xstrtoimax xstrtoumax yesno strnlen getcwd sig2str mountlist regex canonicalize mkstemp memrchr euidaccess ftw obstack strverscmp strftime tsearch stat
|
||||
|
||||
LIB_OBJECTS = $(addprefix $(LIB_DIR)/, $(addsuffix .o, $(LIB_SRC)))
|
||||
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ ALL=$(BINARIES) $(SRC_DIR)/sha256sum
|
|||
all: $(BINARIES) $(SRC_DIR)/sha256sum
|
||||
|
||||
LIB_DIR = lib
|
||||
LIB_SRC = acl alloca getdate fprintftime posixtm posixver strftime getopt hash hash-pjw argmatch backupfile basename canon-host closeout cycle-check diacrit dirname dup-safer error exclude exitfail filemode fpending file-type fnmatch fopen-safer full-read full-write getline gettime hard-locale human idcache imaxtostr linebuffer localcharset long-options mbswidth md5 memcasecmp memcoll modechange offtostr physmem quote quotearg readtokens rpmatch safe-read safe-write same save-cwd savedir settime sha256 stpcpy stripslash umaxtostr unicodeio userspec version-etc version-etc-fsf xgetcwd xgethostname xmalloc xmemcoll xnanosleep readlink xstrtod xstrtol xstrtoul xstrtoimax xstrtoumax yesno strnlen getcwd sig2str mountlist canonicalize mkstemp memrchr euidaccess obstack strverscmp strftime xalloc-die close-stream tempname filenamecat xstrndup randint randread rand-isaac gethrxtime
|
||||
LIB_SRC = acl alloca getdate fprintftime posixtm posixver strftime hash hash-pjw argmatch backupfile basename canon-host closeout cycle-check diacrit dirname dup-safer error exclude exitfail filemode fpending file-type fnmatch fopen-safer full-read full-write getline gettime hard-locale human idcache imaxtostr linebuffer localcharset long-options mbswidth md5 memcasecmp memcoll modechange offtostr physmem quote quotearg readtokens rpmatch safe-read safe-write same save-cwd savedir settime sha256 stpcpy stripslash umaxtostr unicodeio userspec version-etc version-etc-fsf xgetcwd xgethostname xmalloc xmemcoll xnanosleep readlink xstrtod xstrtol xstrtoul xstrtoimax xstrtoumax yesno strnlen getcwd sig2str mountlist canonicalize mkstemp memrchr euidaccess obstack strverscmp strftime xalloc-die close-stream tempname filenamecat xstrndup randint randread rand-isaac gethrxtime
|
||||
|
||||
LIB_OBJECTS = $(addprefix $(LIB_DIR)/, $(addsuffix .o, $(LIB_SRC)))
|
||||
|
||||
|
|
|
|||
24
steps/improve/after.sh
Normal file
24
steps/improve/after.sh
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 Gábor Stefanik <netrolller.3d@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# After bootstrap, drop to a shell if needed, then shut down cleanly.
|
||||
|
||||
. /steps/bootstrap.cfg
|
||||
. /steps/env
|
||||
|
||||
if [ "${INTERACTIVE}" = True ]; then
|
||||
env - PATH=${PREFIX}/bin PS1="\w # " bash -i
|
||||
fi
|
||||
|
||||
if [ "${CHROOT}" = False ]; then
|
||||
# ignore errors due to fstab or swapfile not existing
|
||||
swapoff -a &> /dev/null || true
|
||||
sync
|
||||
# sysrq to avoid device busy; then mount to wait for it to finish
|
||||
echo u > /proc/sysrq-trigger
|
||||
mount -o remount,ro /
|
||||
echo o > /proc/sysrq-trigger # power off
|
||||
fi
|
||||
|
|
@ -6,13 +6,22 @@
|
|||
#
|
||||
# Add the rest of the FHS that we will use and is not created pre-boot
|
||||
rm -rf /sbin /usr/sbin
|
||||
ln -s /usr/bin /usr/sbin
|
||||
for d in bin lib sbin; do
|
||||
ln -s "usr/${d}" "/${d}"
|
||||
ln -s "/usr/${d}" "/${d}" || true # these might exist if rerunning
|
||||
done
|
||||
mkdir -p /etc /run /var
|
||||
test -d /proc || (mkdir /proc && mount -t proc proc /proc)
|
||||
test -d /sys || (mkdir /sys && mount -t sysfs sysfs /sys)
|
||||
|
||||
mkdir -p /etc /run /var/log /var/lock /var/spool /var/tmp /var/cache
|
||||
|
||||
# can't use /dev/null before mounting /dev
|
||||
mount | grep '/dev' &> /junk || (mkdir -p /dev; mount -t devtmpfs none /dev)
|
||||
rm /junk &> /dev/null || true
|
||||
|
||||
mount | grep '/proc' &> /dev/null || (mkdir -p /proc; mount -t proc proc /proc)
|
||||
mount | grep '/sys' &> /dev/null || (mkdir -p /sys; mount -t sysfs sysfs /sys)
|
||||
# Make /tmp a ramdisk (speeds up configure etc significantly)
|
||||
test -d /tmp || (mkdir /tmp && mount -t tmpfs tmpfs /tmp)
|
||||
mount | grep '/tmp' &> /dev/null || (mkdir -p /tmp; mount -t tmpfs tmpfs /tmp)
|
||||
|
||||
# Add /etc/resolv.conf
|
||||
echo 'nameserver 1.1.1.1' > /etc/resolv.conf
|
||||
echo 'nameserver 1.1.1.1' > /etc/resolv.conf.head
|
||||
|
|
|
|||
14
steps/improve/finalize_job_count.sh
Normal file
14
steps/improve/finalize_job_count.sh
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 Gábor Stefanik <netrolller.3d@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# Finalize job count once SMP support is available
|
||||
|
||||
cat >> /steps/bootstrap.cfg <<- EOF
|
||||
JOBS=${FINAL_JOBS}
|
||||
EOF
|
||||
|
||||
. /steps/bootstrap.cfg
|
||||
. /steps/env
|
||||
19
steps/improve/swap.sh
Normal file
19
steps/improve/swap.sh
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
#!/bin/sh
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2024 Gábor Stefanik <netrolller.3d@gmail.com>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# Set up swap
|
||||
|
||||
. /steps/bootstrap.cfg
|
||||
. /steps/env
|
||||
|
||||
if ! test -f /swapfile
|
||||
then
|
||||
echo "Making swap..."
|
||||
dd if=/dev/zero of=/swapfile bs=1M count=${SWAP_SIZE}
|
||||
mkswap /swapfile
|
||||
fi
|
||||
swapon /swapfile
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
unset GUILE_LOAD_PATH
|
||||
|
||||
cat > /steps/env <<- EOF
|
||||
cat >> /steps/env <<- 'EOF'
|
||||
export PATH=${PREFIX}/bin
|
||||
PREFIX=${PREFIX}
|
||||
LIBDIR=${LIBDIR}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ if [ "${KERNEL_BOOTSTRAP}" = True ]; then
|
|||
find / -xdev -type d -printf "dir %p %m %U %G\n" >> /initramfs.list
|
||||
find / -xdev -type f -printf "file %p %p %m %U %G\n" >> /initramfs.list
|
||||
find / -xdev -type l -printf "slink %p %l %m %U %G\n" >> /initramfs.list
|
||||
find / -xdev -type c -or -type b -not -name "ram*" -printf "nod %p %m %U %G %y " -exec stat -c '%Hr %Lr' {} \; >> /initramfs.list
|
||||
kexec-linux "/dev/ram1" "/boot/linux-4.9.10" "!$(command -v gen_init_cpio) /initramfs.list"
|
||||
else
|
||||
mkdir /etc
|
||||
|
|
|
|||
|
|
@ -4,15 +4,31 @@
|
|||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
set -ex
|
||||
set -e
|
||||
# mount might fail if /etc doesn't exist because of fstab and mtab
|
||||
mkdir -p /dev /etc
|
||||
mount -t devtmpfs none /dev &> /junk || true # no /dev/null yet
|
||||
rm /junk &> /dev/null || true
|
||||
|
||||
timeout=120
|
||||
while ! dd if=/dev/${DISK} of=/dev/null bs=512 count=1; do
|
||||
sleep 1
|
||||
# shellcheck disable=SC2219
|
||||
let timeout--
|
||||
if [ "${timeout}" -le 0 ]; then
|
||||
echo "Timeout reached for disk to become accessible"
|
||||
false
|
||||
fi
|
||||
done
|
||||
|
||||
# Create partition if it doesn't exist
|
||||
if [ $(($(stat -c "%Lr" "/dev/${DISK}") % 8)) -eq 0 ]; then
|
||||
echo "Creating partition table..."
|
||||
echo ";" | sfdisk "/dev/${DISK}"
|
||||
# Start at 1GiB, use -S32 -H64 to align to MiB rather than cylinder boundary
|
||||
echo "2097152;" | sfdisk -uS -S32 -H64 --force "/dev/${DISK}"
|
||||
fdisk -l "/dev/${DISK}"
|
||||
echo "Creating ext4 partition..."
|
||||
mkfs.ext4 "/dev/${DISK}1"
|
||||
mkfs.ext4 -F -F "/dev/${DISK}1"
|
||||
DISK="${DISK}1"
|
||||
fi
|
||||
|
||||
|
|
@ -27,5 +43,6 @@ mkdir -p /rootonly
|
|||
# This doesn't recursively mount - that's why we're able to copy everything over
|
||||
mount --bind / /rootonly
|
||||
cp -ar /rootonly/* /newroot/
|
||||
sed -e 's/newroot//' /rootonly/etc/mtab | grep -v 'rootonly' > /newroot/etc/mtab
|
||||
umount /rootonly
|
||||
switch_root /newroot /init
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
7d98c6ce71a3b45d86453d50b2bc91e651b31aac9615705bb73d09580b220997 /usr/bin/kexec-fiwix
|
||||
f8c754de5bd9cf5a1b36dfea25e81f7b39c4e0145e10eebafccc8cdca5be91bd /usr/bin/kexec-fiwix
|
||||
|
|
|
|||
|
|
@ -6,7 +6,8 @@
|
|||
#include "multiboot1.h"
|
||||
|
||||
#define MULTIBOOT_MAGIC 0x2BADB002
|
||||
#define INITRD_MB 1152
|
||||
#define INITRD_MB 1280
|
||||
#define KEXEC_MB 256
|
||||
|
||||
int main() {
|
||||
/* Read the kernel */
|
||||
|
|
@ -81,11 +82,11 @@ int main() {
|
|||
char *bare_metal = getenv("BARE_METAL");
|
||||
if (bare_metal != NULL && strcmp(bare_metal, "True") == 0)
|
||||
{
|
||||
sprintf(cmdline, "fiwix root=/dev/ram0 ramdisksize=%d initrd=fiwix.ext2 kexec_proto=linux kexec_size=280000 kexec_cmdline=\"init=/init\"", INITRD_MB * 1024);
|
||||
sprintf(cmdline, "fiwix root=/dev/ram0 ramdisksize=%d initrd=fiwix.ext2 kexec_proto=linux kexec_size=%d kexec_cmdline=\"init=/init consoleblank=0\"", INITRD_MB * 1024, KEXEC_MB * 1024);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(cmdline, "fiwix console=/dev/ttyS0 root=/dev/ram0 ramdisksize=%d initrd=fiwix.ext2 kexec_proto=linux kexec_size=280000 kexec_cmdline=\"init=/init console=ttyS0\"", INITRD_MB * 1024);
|
||||
sprintf(cmdline, "fiwix console=/dev/ttyS0 root=/dev/ram0 ramdisksize=%d initrd=fiwix.ext2 kexec_proto=linux kexec_size=%d kexec_cmdline=\"init=/init console=ttyS0\"", INITRD_MB * 1024, KEXEC_MB * 1024);
|
||||
}
|
||||
char * boot_loader_name = "kexec-fiwix";
|
||||
|
||||
|
|
@ -127,13 +128,13 @@ int main() {
|
|||
|
||||
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
|
||||
pmultiboot_memory_map->addr = 0x00000000;
|
||||
pmultiboot_memory_map->len = 0x0009FC00;
|
||||
pmultiboot_memory_map->len = 0x00080000;
|
||||
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_AVAILABLE;
|
||||
pmultiboot_memory_map++;
|
||||
|
||||
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
|
||||
pmultiboot_memory_map->addr = 0x0009FC00;
|
||||
pmultiboot_memory_map->len = 0x00000400;
|
||||
pmultiboot_memory_map->addr = 0x00080000;
|
||||
pmultiboot_memory_map->len = 0x00020000;
|
||||
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_RESERVED;
|
||||
pmultiboot_memory_map++;
|
||||
|
||||
|
|
@ -145,13 +146,13 @@ int main() {
|
|||
|
||||
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
|
||||
pmultiboot_memory_map->addr = 0x00100000;
|
||||
pmultiboot_memory_map->len = 0xBFEE0000;
|
||||
pmultiboot_memory_map->len = 0xBC000000;
|
||||
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_AVAILABLE;
|
||||
pmultiboot_memory_map++;
|
||||
|
||||
pmultiboot_memory_map->size = sizeof(multiboot_memory_map_t) - sizeof(multiboot_uint32_t);
|
||||
pmultiboot_memory_map->addr = 0XBFFE0000;
|
||||
pmultiboot_memory_map->len = 0x00020000;
|
||||
pmultiboot_memory_map->addr = 0XBC000000;
|
||||
pmultiboot_memory_map->len = 0x04000000;
|
||||
pmultiboot_memory_map->type = MULTIBOOT_MEMORY_RESERVED;
|
||||
pmultiboot_memory_map++;
|
||||
|
||||
|
|
@ -208,6 +209,7 @@ int main() {
|
|||
0xF3, 0xA4, /* rep movsb */
|
||||
0xB8, 0x00, 0x00, 0x00, 0x00, /* mov eax, 0x00000000 */
|
||||
0xBB, 0x00, 0x00, 0x00, 0x00, /* mov ebx, 0x00000000 */
|
||||
0xFB, /* sti */
|
||||
0xEA, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00 /* jmp far 0x0008:0x00000000 */
|
||||
};
|
||||
|
||||
|
|
@ -217,7 +219,7 @@ int main() {
|
|||
*((unsigned int *) &trampoline[11]) = INITRD_MB * 1024 * 1024;
|
||||
*((unsigned int *) &trampoline[19]) = magic;
|
||||
*((unsigned int *) &trampoline[24]) = multiboot_info_num;
|
||||
*((unsigned int *) &trampoline[29]) = e_entry;
|
||||
*((unsigned int *) &trampoline[30]) = e_entry;
|
||||
|
||||
memcpy((void *)0x4000, trampoline, sizeof(trampoline));
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -48,7 +48,7 @@
|
|||
|
||||
#define BLOCK_SIZE 1024
|
||||
#define FILENAME_LENGTH 256
|
||||
#define INITRD_MB 1152
|
||||
#define INITRD_MB 1280
|
||||
|
||||
const char *input_name = NULL;
|
||||
/**@brief Block device handle.*/
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
a07ed611ce6a0547063be9d5f8ba0f7d14a2ea4e23fa6ff3cbcb09974ece9527 /usr/bin/make_fiwix_initrd
|
||||
68e17d5d7d372101fb7d9857113b9d9b0d19610b19014a742d054d52998c782d /usr/bin/make_fiwix_initrd
|
||||
|
|
|
|||
|
|
@ -119,11 +119,12 @@ improve: clean_sources
|
|||
build: linux-4.9.10 ( BUILD_LINUX == True )
|
||||
jump: break ( INTERNAL_CI == pass1 )
|
||||
jump: linux ( CHROOT == False )
|
||||
jump: move_disk ( KERNEL_BOOTSTRAP == True )
|
||||
improve: finalize_job_count
|
||||
improve: finalize_fhs
|
||||
improve: swap ( SWAP_SIZE != 0 )
|
||||
build: musl-1.2.4
|
||||
build: curl-8.5.0
|
||||
improve: populate_device_nodes
|
||||
jump: move_disk ( KERNEL_BOOTSTRAP == True )
|
||||
improve: get_network ( CHROOT == False )
|
||||
build: bash-5.2.15
|
||||
build: xz-5.4.1
|
||||
|
|
@ -183,3 +184,4 @@ build: binutils-2.41
|
|||
build: gcc-13.1.0
|
||||
improve: null_time ( FORCE_TIMESTAMPS == True )
|
||||
improve: update_checksums ( UPDATE_CHECKSUMS == True )
|
||||
improve: after
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||||
SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
|
||||
Replace weak symbols with strong to workaround an issue with tcc -ar
|
||||
This won't be necessary once we can rebuild with ar from binutils.
|
||||
--- src/include/features.h 2021-02-02 23:15:42.791932948 +0000
|
||||
+++ src/include/features.h 2021-02-02 23:17:21.394647015 +0000
|
||||
@@ -6,6 +6,6 @@
|
||||
#define weak __attribute__((__weak__))
|
||||
#define hidden __attribute__((__visibility__("hidden")))
|
||||
#define weak_alias(old, new) \
|
||||
- extern __typeof(old) new __attribute__((__weak__, __alias__(#old)))
|
||||
+ extern __typeof(old) new __attribute__((/*__weak__, */__alias__(#old)))
|
||||
|
||||
#endif
|
||||
|
|
@ -1 +0,0 @@
|
|||
../patches/ignore-static-inside-array.patch
|
||||
|
|
@ -1 +0,0 @@
|
|||
../patches/static-link.patch
|
||||
50
steps/tcc-0.9.27/patches/dont-skip-weak-symbols-ar.patch
Normal file
50
steps/tcc-0.9.27/patches/dont-skip-weak-symbols-ar.patch
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
SPDX-FileCopyrightText: 2021 Alexander Sosedkin <monk@unboiled.info>
|
||||
|
||||
SPDX-License-Identifier: LGPL-2.0-or-later
|
||||
|
||||
From da11cf651576f94486dbd043dbfcde469e497574 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Sosedkin <monk@unboiled.info>
|
||||
Date: Sat, 30 Oct 2021 16:04:11 +0200
|
||||
Subject: [PATCH] Don't skip weak symbols during ar creation
|
||||
|
||||
```
|
||||
$ echo 'int __attribute__((__weak__)) f(void) { return 4; }' > w.c
|
||||
$ tcc -c w.c -o w.o
|
||||
|
||||
$ tcc-old -ar rc w.a w.o; nm -s w.a # previous behaviour, not indexed
|
||||
w.o:
|
||||
0000000000000000 W f
|
||||
|
||||
$ ar rc w.a w.o; nm -s w.a # GNU binutils behaviour, indexed
|
||||
Archive index:
|
||||
f in w.o
|
||||
|
||||
0000000000000000 W f
|
||||
|
||||
$ tcc-new rc w.a w.o; nm -s w.a # new behaviour, indexed
|
||||
Archive index:
|
||||
f in w.o
|
||||
|
||||
0000000000000000 W f
|
||||
```
|
||||
---
|
||||
tcctools.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/tcctools.c b/tcctools.c
|
||||
index cf174965..4567b81a 100644
|
||||
--- tcctools.c
|
||||
+++ tcctools.c
|
||||
@@ -200,6 +200,9 @@ ST_FUNC int tcc_tool_ar(TCCState *s1, int argc, char **argv)
|
||||
(sym->st_info == 0x10
|
||||
|| sym->st_info == 0x11
|
||||
|| sym->st_info == 0x12
|
||||
+ || sym->st_info == 0x20
|
||||
+ || sym->st_info == 0x21
|
||||
+ || sym->st_info == 0x22
|
||||
)) {
|
||||
//printf("symtab: %2Xh %4Xh %2Xh %s\n", sym->st_info, sym->st_size, sym->st_shndx, strtab + sym->st_name);
|
||||
istrlen = strlen(strtab + sym->st_name)+1;
|
||||
--
|
||||
2.11.4.GIT
|
||||
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
|
||||
|
||||
SPDX-License-Identifier: LGPL-2.0-or-later
|
||||
|
||||
Ignore duplicate symbols. Due to poor support for weak symbols in tcc-ar
|
||||
we had to patch musl to replace weak symbols with strong symbols
|
||||
--- tccelf.c 2021-02-02 17:41:08.662247892 +0000
|
||||
+++ tccelf.c 2021-02-02 23:21:49.652080201 +0000
|
||||
@@ -552,8 +552,9 @@
|
||||
#if 0
|
||||
printf("new_bind=%x new_shndx=%x new_vis=%x old_bind=%x old_shndx=%x old_vis=%x\n",
|
||||
sym_bind, shndx, new_vis, esym_bind, esym->st_shndx, esym_vis);
|
||||
-#endif
|
||||
tcc_error_noabort("'%s' defined twice", name);
|
||||
+#endif
|
||||
+ goto do_patch;
|
||||
}
|
||||
} else {
|
||||
do_patch:
|
||||
Loading…
Add table
Add a link
Reference in a new issue