IRC channel logs
2020-10-11.log
back to list of logs
<OriansJ>M3-Meteorite now is correctly finding and applying relocations; (although I am sture it needs more refinement at doing that correctly) all that remains is the writing of the leading header, the segments and the symbol table to disk. <xentrac>when it lands it'll be m3-meteorite? <OriansJ>./bin/M3-Meteoroid-x86 -f tmp/cc_x86.o -P will show preprocessed and ./bin/M3-Meteoroid-x86 -f tmp/cc_x86.o -p will show after relocations being applied <OriansJ>xentrac: well I needs to be smaller than M3-Comet (which wil be the assembler) <xentrac>I really just want an M3-primordial-black-hole <OriansJ>xentrac: the last one will be M3-Star (with possibly M3-Gas-Giant being the C preprocessor) <OriansJ>M3-Black-Hole would be me having gone mad and attempted to bootstrap Haskell in M2-Planet <xentrac>well, the thing about primordial black holes is <xentrac>they can be very much smaller than regular black holes <OriansJ>xentrac: then you can't have it in M3 form; because it would be smaller than hex0 <OriansJ>as all M2-Planet binaries are bigger than hex0 because they include a symbol table and other ELF extras <xentrac>symbol tables improve quality of life <OriansJ>The bare minimial M2-Planet program is: void main() {} <OriansJ>which will reduce down to just a function label and a return; then when you link with the required libc.M1; it'll setup the stack and then call main and on return call exit <OriansJ>and I am not clever enough to xadd loop my way to getting negative bytes in size <OriansJ>(for those not familiar with x86 assembly: xadd r0, r1 will add r0 and r1; copy r0 to r1 and then set r0 to the sum) putting a #number in ecx and calling loop will result in a 2 instruction implementation of the fibonacci sequence that is only 5bytes in size (assuming eax and ebx are initialized to 1 prior to the loop) <OriansJ>why Intel burned an opcode on xchg and add; when add ebx, eax is 2 bytes and xchg ebx, eax is 1 byte (Thus no difference in size) <OriansJ>I don't get; unless fibonacci was too important of a metric to not have a speicalized generally useless instruction but not important enough to just do instruction fusing transparently <OriansJ>wow I just realized I failed to hit enter and push the M3-Meteoroid commit to github <OriansJ>I think I should just call it a night