fosslinux / live-bootstrap

Use of a Linux initramfs to fully automate the bootstrapping process
482 stars 32 forks source link

Upgrade mes to 0.26 #356

Closed Googulator closed 4 months ago

Googulator commented 8 months ago

This can successfully build a working tcc-mes, but then fails creating unified-libc.c for subsequent tcc bootstrapping.

Fixes #306

stikonas commented 8 months ago

Perhaps we should wait with this until upstream mes figures out what causes so much slowdown.

Googulator commented 8 months ago

If I had to guess, it's probably intentional, due to mescc now running 2 consecutive phases, presumably for optimization.

stikonas commented 8 months ago

If I had to guess, it's probably intentional, due to mescc now running 2 consecutive phases, presumably for optimization.

Almost surely it doesn't and duplicate warnings might be just coincidence. Also slow down is not twice, is closer to 10 times. I think I would be more convinced by argument that we need to load more scheme modules now (that were not present in 0.25).

Googulator commented 8 months ago

Is that 10x slowdown on riscv64? On x86, I'm seeing pretty much an exact 2x multiplier.

BTW, the timing of the warnings is also consistent with mescc doing everything twice.

stikonas commented 8 months ago
diff --git a/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.riscv64.checksums b/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.riscv64.checksums
index f745f4a..7983d3c 100644
--- a/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.riscv64.checksums
+++ b/steps/checksum-transcriber-1.0/checksum-transcriber-1.0.riscv64.checksums
@@ -1 +1 @@
-b6145df4b2a92d5ee75902f4367e7a1a5456a5cef7a2e1365610637b054c477a  /usr/bin/checksum-transcriber
+560df1e8527df9758252f6255c144cfd6b1555b9d2aa6162011204061af80ab5  /usr/bin/checksum-transcriber
diff --git a/steps/mes-0.26/mes-0.26.riscv64.checksums b/steps/mes-0.26/mes-0.26.riscv64.checksums
index 58eb11e..b74f8d9 100644
--- a/steps/mes-0.26/mes-0.26.riscv64.checksums
+++ b/steps/mes-0.26/mes-0.26.riscv64.checksums
@@ -1,14 +1,14 @@
-4c722a7455db030122072f3bb7b2733a1b826460c1022308d314775685838447  /usr/bin/mes
-c149469a741b170bfe3da4e737b3d68490996cc957d593ea5555301de0329afc  /usr/bin/mes-m2
-3296b313d02fe4a4f7ba37446b5cdf9e7c472426a942b7e7227fe7f9929ad97f  /usr/bin/mescc.scm
+1e76db632c2d1929a20b09b248feab99c54278605a33816bcb5357da59fd110b  /usr/bin/mes
+a557d259c52c5eabb4e0012953db95e09a624f40d3523a5dca20f4156540d10b  /usr/bin/mes-m2
+a2cde85fed91a22f695daa859d038b322e3617c3c5a260f2124e0be6fd92d289  /usr/bin/mescc.scm
 50441b03b915bd51fb811749901a56b3c42186b45f7f466dbf23337eafad520c  /usr/lib/riscv64-mes/crt1.s
 a96a0a8f1b2dd1e5a7dad8264c92b5448be7d29aa7706d40d67be978d5ddc305  /usr/lib/riscv64-mes/crt1.o
 1511e99da81caa02490078c7a880ac97d439b6fec99cf846dc2044468e2444b8  /usr/lib/riscv64-mes/riscv64.M1
 8f7e94270c7cbb076ff5fe3cdd0d6c891537e7945e5aa4bdbf167867471bfbc2  /usr/lib/riscv64-mes/libmescc.s
-dc017df6d381bd13909f01eea43a9baf5210312715e1bb95c8d4df5f35566276  /usr/lib/riscv64-mes/libc+tcc.s
-409ef724a5f67bcfec1696e5f99d15b089e7e2b9d8c9a91134d6e2bcdb515d9c  /usr/lib/riscv64-mes/libc.s
+46804bfa2df448ded8fb8c13094d439f36ebda2db1f4860c23e899d0b2d51b1d  /usr/lib/riscv64-mes/libc+tcc.s
+f98c4b82fa99a7b298653c534d2337a0cad94b879e280d5407adf7fa50f21c7e  /usr/lib/riscv64-mes/libc.s
 5027a055f6c564417bf5194a9b43a8a93ae59d9a26ce75a55895f253a6aab2c2  /usr/lib/riscv64-mes/libmescc.a
-938cbb375ca287c3a3e19d3b86ccf1e805963f6b47c4f7fcf3c857edf77f19f3  /usr/lib/riscv64-mes/libc+tcc.a
-a994b9aeeff0b7a0cc36e0214848ede3b0dc9d11dd3986562713a672dcb6d3f6  /usr/lib/riscv64-mes/libc.a
+fb986603850bf8d3501159357a53d0b00a2f713dde734ff2141e5d4ac68a1742  /usr/lib/riscv64-mes/libc+tcc.a
+aeb8ba8c25a7edc6a3893049393fbf6695b7bdb6797d83d0f86c7a4fe1e4537b  /usr/lib/riscv64-mes/libc.a
 22ad5f7b6e5ea07b275619956bddd913b061d6ad492a442e4b6b2f28898e50ae  /usr/lib/linux/riscv64-mes/elf64-header.hex2
 94c796cb34a6e581491d0cf609e7fad01715c84a17b8b2017178a36568a80e48  /usr/lib/linux/riscv64-mes/elf64-footer-single-main.hex2
diff --git a/steps/tcc-0.9.26/tcc-0.9.26.riscv64.checksums b/steps/tcc-0.9.26/tcc-0.9.26.riscv64.checksums
index 09d8893..859d8fa 100644
--- a/steps/tcc-0.9.26/tcc-0.9.26.riscv64.checksums
+++ b/steps/tcc-0.9.26/tcc-0.9.26.riscv64.checksums
@@ -1,8 +1,8 @@
-22c74eec2ee1694247fae2958979c2326bab41ecbf5ba279b38417f63bf8892d  /usr/bin/tcc-mes
-4aff7e61488c03322a682a086405831aa4d99681b2761ddc8b0a76888395a11b  /usr/bin/tcc-boot0
-9973b5e730c0b9d65aa0ad2332a51adbb247546478d2e86697bba6de4f2f03fc  /usr/bin/tcc-boot1
-5b5b131cc6bb7f62b11bc99092a1e48c2975af00c7d22fb52de5f561dbdc749a  /usr/bin/tcc
-93fbb5473bfaf2abaf6598a21dd5f0ac3c6237bfa15bc0c85328608233de55bc  /usr/lib/mes/libc.a
+410b7131646db9fd9458ac49186132af1fc187f0454dd5ad750bac44945e2390  /usr/bin/tcc-mes
+d6b85d7056bf37036a85ccdcabbc7e742a9191f947e9e6e6cdeaf3dcce5f8613  /usr/bin/tcc-boot0
+1f39f3b05049aab60d5b719d1f990942b2abb7b194384c4951340d3d33ba0796  /usr/bin/tcc-boot1
+13678ccf76c69b4dbd0c8197a97d8148713dc66f0843e3322b5460aa9da152ef  /usr/bin/tcc
+88f5b2aae3768e447f2d4fd33cc0985d4c91aa056816842fbccd3fd6959022ec  /usr/lib/mes/libc.a
 98e2d2d543a113c82c8de39f32d4d43b1fe7f3159c5956c5e3224e7f4162601f  /usr/lib/mes/libgetopt.a
 c05ad094fbadc8914806566c4ee512c6deb92b2b8d33325a607c3577826b8a54  /usr/lib/mes/crt1.o
 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855  /usr/lib/mes/crti.o

oh and also simple patch has 3a2999a663848942c2f9b49d6bd7e93b80411a659808cde55151dbaa44ca72e5 /usr/bin/simple-patch