* A major milestone in bootstrapping
@ 2018-08-27 0:34 Jeremiah
2018-08-27 11:46 ` Christopher Lemmer Webber
2018-08-29 20:58 ` Joshua Branson
0 siblings, 2 replies; 5+ messages in thread
From: Jeremiah @ 2018-08-27 0:34 UTC (permalink / raw)
To: bootstrappable; +Cc: guix-devel, rb-general
Today I am proud to announce a combo of releases with major milestones.
First stage0, reached Release version 0.2.0; which includes the following:
A 250byte hex0 bootstrap binary that is self-hosting and builds hex1,
which builds hex2, which bootstraps M0 macro assembly which has been
used to make:
The world's FIRST C compiler written in M0 macro assembly, supporting:
structs
unions
inline assembly
function pointers
http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage2/cc_x86.s
which is capable of compiling reproducibly:
The newly released M2-Planet V1.0
https://github.com/oriansj/M2-Planet
Which is a self-hosting C compiler which is 100% deterministic by design
with support for all the features needed to build the pieces of:
mescc-tools
https://savannah.nongnu.org/projects/mescc-tools
which is capable of building M2-Planet from it's M1 macro seed.
Soon we hope to finish the MesCC bootstrap from M2-Planet and then we
will have a complete bootstrap path from 250byte hex0 all the way up to
gcc ^_^
-Jeremiah Orians
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: A major milestone in bootstrapping
2018-08-27 0:34 A major milestone in bootstrapping Jeremiah
@ 2018-08-27 11:46 ` Christopher Lemmer Webber
2018-08-27 12:19 ` [rb-general] " Orians, Jeremiah (DTMB)
2018-08-29 20:58 ` Joshua Branson
1 sibling, 1 reply; 5+ messages in thread
From: Christopher Lemmer Webber @ 2018-08-27 11:46 UTC (permalink / raw)
To: Jeremiah; +Cc: guix-devel, rb-general, bootstrappable
Jeremiah@pdp10.guru writes:
> Today I am proud to announce a combo of releases with major milestones.
>
> First stage0, reached Release version 0.2.0; which includes the following:
> A 250byte hex0 bootstrap binary that is self-hosting and builds hex1,
> which builds hex2, which bootstraps M0 macro assembly which has been
> used to make:
>
> The world's FIRST C compiler written in M0 macro assembly, supporting:
> structs
> unions
> inline assembly
> function pointers
>
> http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage2/cc_x86.s
>
> which is capable of compiling reproducibly:
>
> The newly released M2-Planet V1.0
> https://github.com/oriansj/M2-Planet
>
> Which is a self-hosting C compiler which is 100% deterministic by design
> with support for all the features needed to build the pieces of:
>
> mescc-tools
> https://savannah.nongnu.org/projects/mescc-tools
>
> which is capable of building M2-Planet from it's M1 macro seed.
>
> Soon we hope to finish the MesCC bootstrap from M2-Planet and then we
> will have a complete bootstrap path from 250byte hex0 all the way up to
> gcc ^_^
>
> -Jeremiah Orians
Interesting... I'm looking at
https://github.com/oriansj/M2-Planet/blob/master/seed.M1
How was it written? It seems like a monumental task to write all that
and keep enough context in one's head! Then again, I have never written
assembly before...
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [rb-general] A major milestone in bootstrapping
2018-08-27 11:46 ` Christopher Lemmer Webber
@ 2018-08-27 12:19 ` Orians, Jeremiah (DTMB)
2018-08-29 16:16 ` Christopher Lemmer Webber
0 siblings, 1 reply; 5+ messages in thread
From: Orians, Jeremiah (DTMB) @ 2018-08-27 12:19 UTC (permalink / raw)
To: General discussions about reproducible builds,
Jeremiah@pdp10.guru
Cc: guix-devel@gnu.org, bootstrappable@freelists.org
> Interesting... I'm looking at
> https://github.com/oriansj/M2-Planet/blob/master/seed.M1
> How was it written? It seems like a monumental task to write all that and keep enough context in one's head! > Then again, I have never written assembly before...
If you'll notice https://github.com/oriansj/M2-Planet/blob/master/seed.M1#L2
It explicitly says it was generated from stage0 https://savannah.nongnu.org/projects/stage0/
Specifically cc_x86 http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage2/cc_x86.s
Which was built by M0: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/M0-macro.hex2
Which was built by hex2: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-2.hex1
Which was built by hex1: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-1.hex0
Which was built by hex0: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-0.hex0
Which was the 250byte seed used
Well the work started back in 2016 with http://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.s
and http://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.hex
It was written one function at a time, with the arguments passed in registers and careful preservation of everything passed.
- Jeremiah Orians
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [rb-general] A major milestone in bootstrapping
2018-08-27 12:19 ` [rb-general] " Orians, Jeremiah (DTMB)
@ 2018-08-29 16:16 ` Christopher Lemmer Webber
0 siblings, 0 replies; 5+ messages in thread
From: Christopher Lemmer Webber @ 2018-08-29 16:16 UTC (permalink / raw)
To: Orians, Jeremiah (DTMB)
Cc: General discussions about reproducible builds, guix-devel@gnu.org,
Jeremiah@pdp10.guru, bootstrappable@freelists.org
Orians, Jeremiah (DTMB) writes:
>> Interesting... I'm looking at
>> https://github.com/oriansj/M2-Planet/blob/master/seed.M1
>> How was it written? It seems like a monumental task to write all
>> that and keep enough context in one's head! > Then again, I have
>> never written assembly before...
>
> If you'll notice https://github.com/oriansj/M2-Planet/blob/master/seed.M1#L2
>
> It explicitly says it was generated from stage0 https://savannah.nongnu.org/projects/stage0/
> Specifically cc_x86 http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage2/cc_x86.s
> Which was built by M0: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/M0-macro.hex2
> Which was built by hex2: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-2.hex1
> Which was built by hex1: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-1.hex0
> Which was built by hex0: http://git.savannah.nongnu.org/cgit/stage0.git/tree/stage1/stage1_assembler-0.hex0
> Which was the 250byte seed used
>
> Well the work started back in 2016 with http://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.s
> and http://git.savannah.nongnu.org/cgit/stage0.git/tree/Linux%20Bootstrap/hex0.hex
>
> It was written one function at a time, with the arguments passed in registers and careful preservation of everything passed.
>
> - Jeremiah Orians
Ah very interesting! Thanks for the history :)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: A major milestone in bootstrapping
2018-08-27 0:34 A major milestone in bootstrapping Jeremiah
2018-08-27 11:46 ` Christopher Lemmer Webber
@ 2018-08-29 20:58 ` Joshua Branson
1 sibling, 0 replies; 5+ messages in thread
From: Joshua Branson @ 2018-08-29 20:58 UTC (permalink / raw)
To: guix-devel
Jeremiah@pdp10.guru writes:
>
> Soon we hope to finish the MesCC bootstrap from M2-Planet and then we
> will have a complete bootstrap path from 250byte hex0 all the way up to
> gcc ^_^
Wow! Just Wow!
I have a question though. It sounds like a bunch of
this is assembly...Is assembly portable? AKA does/will this
bootstrapped C only be able to run on Intel chips?
I suppose that even if it did, you could cross compile it to other
architectures...
>
> -Jeremiah Orians
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-08-29 20:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-27 0:34 A major milestone in bootstrapping Jeremiah
2018-08-27 11:46 ` Christopher Lemmer Webber
2018-08-27 12:19 ` [rb-general] " Orians, Jeremiah (DTMB)
2018-08-29 16:16 ` Christopher Lemmer Webber
2018-08-29 20:58 ` Joshua Branson
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).