IRC channel logs
2025-03-29.log
back to list of logs
<LaurentH>stikonas: Thanks, it seems to be working! <fossy>LaurentH: ah, thanks, an upgrade messed up my crontab just a few days ago <aggi>^ status of compiling a complete system with just tinycc <oriansj>aggi: thank you for your great work. <LaurentH>fossy: I've been trying to get the checksums to match for tcc-0.9.26 using pnut and I'm curious to know how the expected hashes were determined in live-boostrap. I reach a fixed point at tcc-boot2 but the differences in paths (CONFIG_TCC_* macros and the C source path that TCC inscribes in .o files) means I can't know for sure I'm doing the right <LaurentH>Bootstrapping from gcc gives me the same fixed point at least, but ideally I'd reproduce the exact same TCC-0.9.26 binary as live-boostrap <stikonas>LaurentH: checksums are determined by running it twice, first you obtain checksum, make a commit <stikonas>diffoscope might help you find differences between binaries <matrix_bridge><cosinusoidally> LaurentH: I did manage to get identical versions of tcc-0.9.26 when integrating my tcc_bootstrap_alt project into live-bootstrap. The hashes of the earlier intermediate versions of tcc-0.9.26 did not match, but the final version did. My code did not get merged upstream, it is in my fork:... <matrix_bridge><cosinusoidally> iirc source filename relative to cwd will leak into the o files <matrix_bridge><cosinusoidally> As you've probably also noticed, tcc is a tangle of ifdefs that can also change the built in macro definitions in the compiler itself. I hit that when I managed to build a self hosted version of tcc that would hit a fixed point that was different depending. If I started from my tcc fork it would converge to one hash, if I started from gcc it would converge to a different hash. Turned out in my tcc... <matrix_bridge>... fork *linux* was not being set. When I built starting from gcc, but added -U__linux__ the hashes were then identical. <matrix_bridge><cosinusoidally> As you've probably also noticed, tcc is a tangle of ifdefs that can also change the built in macro definitions in the compiler itself. I hit that when I managed to build a self hosted version of tcc that would hit a fixed point that was different depending. If I started from my tcc fork it would converge to one hash, if I started from gcc it would converge to a different hash. Turned out in my tcc... <matrix_bridge>... fork *linux* was not being set. When I built starting from gcc, but added -U__linux__ the hashes were then identical. <matrix_bridge><Andrius Štikonas> Well, hopefully though your code will be a good stepping stone for improving M2-Planet <stikonas>LaurentH: ok, I've spent a bit of time and added automatic updates too to my mirror <stikonas>(rather than pulling manually from time to time)