unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).