bug-mes
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mes-tcc can build itself on arm, without long long or floats


From: Danny Milosavljevic
Subject: Re: mes-tcc can build itself on arm, without long long or floats
Date: Wed, 9 Dec 2020 23:47:02 +0100

Hi Janneke,

On Wed, 09 Dec 2020 23:24:22 +0100
Jan Nieuwenhuizen <janneke@gnu.org> wrote:

> Finally I got an initial version of mes-tcc bootstrapped so that it can
> build itself!
> 
> Like on x86, we build mes-tcc using "build.sh" without bitfield, long
> long or float support: the tcc sources have #if HAVE_BITFIELD,
> HAVE_LONG_LONG and HAVE_FLOAT to disable such code.
> 
> Then, using "boot.sh", mes-tcc is used to build boot0-tcc, boot0-tcc
> builds boot1-tcc, etc.  We stepwise add -D HAVE_BITFIELD, -D
> HAVE_LONG_LONG and -D HAVE_FLOAT flags, until we end up with a boot5-tcc
> that builds an identical boot6-tcc (fixpoint), with all features
> enabled.

That is awesome!  \o/

> The bad news is that when I try to enable either long longs of floats, a
> corrupted bootX-tcc (boot2-tcc or boot3-tcc) is produced.  The good news
> is that when I do not enable those features, boot5-tcc fails only 12 of
> 255 tests (as expected because we are missing some features).

If I can help in any way, please tell me.

I could look at the assembly differences etc.

It's interesting that it also happens with-only long longs.  The floats
I would have expected with the wrong FPU enabled, but long longs?
Weird...

> Also, I found a way to "bootstrap" crt1.c, by using inline fake
> assembly.  So it looks like we're getting pretty close!

Nice!

Attachment: pgp3aaQXBbQa9.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]