[Top][All Lists]

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

Re: [Tinycc-devel] Largish mob update from me

From: Christian JULLIEN
Subject: Re: [Tinycc-devel] Largish mob update from me
Date: Fri, 16 Dec 2016 08:54:31 +0100 (CET)

Hello Michael,

With latest commit
I have been able to make a working tcc on:
* Windows 10 i386 + x64 - using my own Makefile (and not .bat)
* Raspberry Pi3 (ARM)

The 3 versions successbuly built my Lisp (OpenLisp) on which I ran the complete regression tests w.o. error.

On my side and for my needs, I see no regressions and tcc looks fully functional.


Le : 15 décembre 2016 à 18:17 (GMT +01:00)
De : "Michael Matz" <address@hidden>
À : "address@hidden" <address@hidden>
Objet : [Tinycc-devel] Largish mob update from me


with the holiday season coming up I probably am going to have some time
for cleaning up after me if necessary, so I've pushed my current stable
(in my mind) stuff to mob. It's 110 changes on these topics:

* x86-asm improvements: new instructions, some SSE2 support, some internal
reordering, support x86-64 high registers (also in inline asm)
* asm and inline asm: above plus more compatibility with GNU as
* struct layout: support specifying packed after the struct decl,
fixing bit-field layout to be GCC and MS compatible (I know there was
recently an update for this, but it didn't get some corner cases
* struct initialization: rewrite. It now supports initialization via
compound literals and fixes many corner cases that were handled
incorrect before
* simple dead code optimization: in code like
if (1) ...
else {stuff};
don't emit anything for the else branch code (unless there's a different
way to enter this code, e.g. via a label).
* various assorted fixes/improvenents: long long switch values, 64bit
addends for symbols (on LP64 platforms), supporting large alignments,
some fixes in the pre-processor and more stuff.

I've worked on this on and off since May (huh), and my immediate goal was
to be able to compile a current linux kernel with as few changes as
possible; I can do that now (and the kernel works :)); I'll probably push
these kernel sources to github on the weekend.

I've tested that TCC on x86-64, arm64 and i386. I've not tested it on arm
(lacking a ready-to-use sandbox right now).

Some recent change between bf692af3 (from 2016-11-12) and fe6453f8 (from
2016-12-10) broke gawk (on x86-64), and that fail still exists with my
changes on the top; I haven't investigated that yet, but it's mostly
changes for separating out relocation processing (hello Thomas :) ).

I haven't changed any APIs, so users of libtcc shouldn't have problems;
but internally there's some shuffling, so possibly this broke other
peoples private patches, I hope it's reasonably easy to rebase.

I'm obviously interested if I've broken stuff. For instance I haven't
ever built this for windows, so testing there would be appreciated.


Tinycc-devel mailing list

reply via email to

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