IRC channel logs

2023-04-05.log

back to list of logs

<aggi>well, compiled tccboot from source, but don't know how to assemble a syslinux-tccboot.iso for it to place initrd.img at a specific address
<aggi>i see, syslinux already does load the romfs.gz into memory some place... ok, but the self-compile tccboot-loader doesn't spawn
<aggi>syslinux Loading tccboot Loading example.roms.gz ... and then nothing ... i'll see
<aggi>allright, i can rule out newer syslinux-version isn't at fault; tccboot.orig and initrd.img.orig from Bellard do launch with a re-created iso
<aggi>however, the re-compiled tccboot loader doesn't emit anything at all, weird... only used some newer i686-gcc-4.7/binutils-ld
<aggi>next try
<aggi>nope, no luck with re-compiling tccboot-loader from source; it just doesn't executed once loaded by syslinux, while the original loader does
<aggi>the only relevant difference seems to be i686-tcc4.7/binutils-ld versions used; i am almost certain i have not made any other mistake with this
<aggi>i686-gcc4.7
<aggi>tried something else: copied the entire source tree of /usr/src/linux from tccboot.iso (Bellard) into a linux-2.4.26 src tree and git-diffed the entire thing
<aggi>and found, the FASTCALL attribute troubles recent tcc-compiler version; and there was two variants to test (adding this attribute where it was missing, or removing it where it caused incompatible function definitions complained about)
<aggi>anyhow, it seems some of the crashes are/were related to this, finally now the kernel crashes with page request at 0xf8000000.. no clue why
<aggi>i'll test another tcc-compiler-version again
<aggi>and then, i see no test-case remaining to verify
<aggi>the confusing situation is, the exact same sources do compile with tcc-0.9.21 on tccboot.iso, although i couldn't reproduce this setup with a self-compiled tccboot-loader (as mentioned yesterday)
<aggi>which is the root-cause, i got no baseline identified, of a known-working state matching a source/compiler setup
<aggi>to diff/bisect against
<oriansj>aggi: is there a possiblity that TCC Boot never actually was self-hosting?
<aggi>oriansj: what are you referring to with tccboot? tccboot-loader (for kernel JIT) or tccboot-kernel (for kernel AoT)?
<aggi>to answer one question: the original tccboot-loader (tccboot-0.1) itself was compiled/linked with GCC; which for the sake of simplicity i too did with it
<aggi>although an tccboot-loader compiled from source was emitted, it failed, as reported yesterday, hence a cannot reproduce the JIT kernel compilation 100% from source
<aggi>there is something else which i don't understand - one test case of several dozen in combination - compiling with tcc and linking with gcc separately too crashes; although gcc-linking can support vmlinux.lds linker scripts
<aggi>and with another test-case, assuming tcc-0.9.21 is identical to the sources i compiled for it, the tccboot.iso JIT kernel compilation suceeds, and the _same_ sources compiled AoT causes kernel crashes, which i too see related to address-mappings/memory-layout