[bootstrappable] Re: GNU Mes 0.18 released

  • From: "Orians, Jeremiah (DTMB)" <OriansJ@xxxxxxxxxxxx>
  • To: "bootstrappable@xxxxxxxxxxxxx" <bootstrappable@xxxxxxxxxxxxx>
  • Date: Wed, 7 Nov 2018 17:25:14 +0000

I am still confused how to use it. The bootstrap.sh still needs "vm":
It only needs it if your run ./bootstrap.sh refresh, which builds the seed.M1 
from source using cc_x86.s
Otherwise that piece is inside an if that doesn't get executed.

And the build becomes:
# Nothing is done
+ '[' refresh = NOPE ']' 
# mkdir bin if it doesn't exist
+ '[' -d bin ']'
# Create dwarf footer for M2-Planet binary
+ blood-elf -f seed.M1 -o bin/seed-footer.M1
# Use the lines in x86_defs.M1 to assemble the runtime (libc-core.M1), the 
seed.M1 and it's dwarf footer (seed-footer.M1) into hex2 object file
+ M1 -f test/common_x86/x86_defs.M1 -f functions/libc-core.M1 -f seed.M1 -f 
bin/seed-footer.M1 --LittleEndian --Architecture 1 -o bin/seed.hex2
# Resolve linkages and generate a static binary using the hand made ELF header 
for x86 (ELF-i386-debug.hex2) and the previously generated hex2 object file
+ hex2 -f test/common_x86/ELF-i386-debug.hex2 -f bin/seed.hex2 --LittleEndian 
--Architecture 1 --BaseAddress 0x8048000 -o bin/M2-Planet --exec_enable

All of the intermediate steps are inspectable and fully auditable (Only the 
final binary is hard for humans to read and verify)

but I think what you are saying is that I can comment out the lines and 
simply use  
https://github.com/oriansj/M2-Planet/blob/4629a2e842a9e07ea366a3fd731f3c21bdc5afdf/seed.M1
 instead, am I right?
Not needed, simply don't include refresh in the arguments when you run the 
script

But I am at loss what to do next to bootstrap a C compiler.
M2-Planet is a self-hosting C compiler that is going to be used to bootstrap 
Mes.c and thus finish the bootstrap of MesCC

It's ok, I'll just wait until there is a simple script that I can just run. 
Then I'll be happy to try it out. I don't want you to waste time with me 
right now.
Are the bootstrap.sh scripts in M2-Planet and mescc-tools-seed needing an 
install option; that would be a very easy addition

Other related posts: