tinycc-devel
[Top][All Lists]
Advanced

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

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


From: Thomas Preud'homme
Subject: Re: [Tinycc-devel] Largish mob update from me
Date: Sat, 17 Dec 2016 10:13:48 +0000
User-agent: KMail/5.2.3 (Linux/4.8.0-2-amd64; KDE/5.28.0; x86_64; ; )

On jeudi 15 décembre 2016 18:17:32 GMT Michael Matz wrote:
> Aloha,

Hi Michael,

> 
> 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
>   correctly)
> * 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 :) ).

Grishka did a couple more fix on this. Do you still see the error?

> 
> 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.

I'm observing the following error in the testsuite now when building and 
testing tcc on a i386 platform:

gcc -o tcctest.gcc tcctest.c -DCONFIG_TRIPLET="\"i386-linux-gnu\"" -
DTCC_TARGET_I386 -I.. -I.. -w -O0 -std=gnu99 -fno-omit-frame-pointer
tcctest.c: In function ‘get_asm_string’:
tcctest.c:3151:3: error: impossible constraint in ‘asm’
   "1:\n"
   ^~~

Thanks for all the work.

Best regards,

Thomas

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

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