[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] x86-64 port
From: |
shinichiro . h |
Subject: |
[Tinycc-devel] x86-64 port |
Date: |
Sun, 30 Nov 2008 05:12:03 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.7 Emacs/22.2 (x86_64-pc-linux-gnu) MULE/5.0 (SAKAKI) |
Hi,
I've worked on porting TCC for x86-64 and I'd like to send a patch. This patch
is the diff from CVS head.
http://shinh.skr.jp/tmp/tinycc_x86_64.patch.gz
Here is the complete archive.
http://shinh.skr.jp/tmp/tinycc_x86_64.tgz
The status of this patch is
- produces x86-64 object files and executables.
- passes make test.
- passes ./libtcc_test.
- can compile tcc.c. The compiled tcc can compile tcc.c, too. (There are some
bugs though)
- can compile links. It seems working.
- may not break other environments. I tested this with x86 environment.
- not tested well. I tested this work only on my linux box with few programs.
- calling convention of long-double-integer of struct is not exactly the same
as GCC's x86-64 ABI.
- format of va_list isn't compatible with GCC's.
- implementation of tcc -run is naive (tcc -run tcctest.c works, but tcc -run
tcc.c doesn't work). Relocating 64bit addresses seems to be not as simple as
32bit environments.
- shared object support isn't unimplemented
I'll work on fixing TODOs above. But the patch is already somehow big, so I
think it's good time to send the first patch. I'll be really happy if you
accept this patch.
Any comments will be appreciated.
Thanks,
- [Tinycc-devel] x86-64 port,
shinichiro . h <=