[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mes-tcc can build itself on arm, without long long or floats
From: |
Jan Nieuwenhuizen |
Subject: |
mes-tcc can build itself on arm, without long long or floats |
Date: |
Wed, 09 Dec 2020 23:24:22 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi Danny!
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.
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).
Also, I found a way to "bootstrap" crt1.c, by using inline fake
assembly. So it looks like we're getting pretty close!
Greetings,
Janneke
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com
- mes-tcc can build itself on arm, without long long or floats,
Jan Nieuwenhuizen <=