[Top][All Lists]

[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

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!


Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com

reply via email to

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