[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
signature.asc
Description: This is a digitally signed message part.
- [Tinycc-devel] Largish mob update from me, Michael Matz, 2016/12/15
- Re: [Tinycc-devel] Largish mob update from me, arnold, 2016/12/15
- Re: [Tinycc-devel] Largish mob update from me, grischka, 2016/12/15
- Re: [Tinycc-devel] Largish mob update from me, Michael Matz, 2016/12/16
- Re: [Tinycc-devel] Largish mob update from me, grischka, 2016/12/16
- Re: [Tinycc-devel] Largish mob update from me, Michael Matz, 2016/12/17
- Re: [Tinycc-devel] Largish mob update from me, grischka, 2016/12/18
- Re: [Tinycc-devel] Largish mob update from me, Michael Matz, 2016/12/19
- Re: [Tinycc-devel] Largish mob update from me, grischka, 2016/12/20
Re: [Tinycc-devel] Largish mob update from me,
Thomas Preud'homme <=
Re: [Tinycc-devel] Largish mob update from me, Steffen Nurpmeso, 2016/12/21