[Top][All Lists]

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

[Tinycc-devel] Support arm hardfloat calling convention

From: Thomas Preud'homme
Subject: [Tinycc-devel] Support arm hardfloat calling convention
Date: Tue, 22 May 2012 15:42:47 +0200
User-agent: KMail/1.13.7 (Linux/3.2.0-2-amd64; KDE/4.7.4; x86_64; ; )

Greetings everybody,

I added support for arm hardfloat calling convention (standard variant in 
AAPCS) and I would appreciate some feedback on the patch. Tcc's testsuite pass 
correctly on armel so at least there shouldn't be regression but I would still 
prefer some people to review it and try it before pushing it to mob.

As to hardfloat itself. I did quite a few tests and comparisons between code 
compiled with tcc and code compiled with gcc. I tried both direction (caller 
with gcc and callee in tcc or reverse) and it works fine now. However, tcc's 
testsuite fails with -run. It seems to work fine when compiled and then run. 
Some relocations are missing (R_ARM_THM_CALL, R_ARM_THM_JUMP24 and 
R_ARM_REL32) and I believe the test with -run fails also because of 

So, to me, full armhf support only lacks some code for linking, but the 
compilation is correct. That's why I'd like some testing to have more 
confidence in that assertion. So if anyone has an arm hardfloat system, please 
try to compile with this patch and link with gcc. You need to add -
DTCC_ARM_HARDFLOAT in Makefile to get support for this calling convention.

I also know there is things to improve, in particular I'd like to reduce the 
number of ifdef. I know the patch mixes space and tabs but I did it on purpose 
to have a more readable patch. Indeed, the original code already mixes the two 
and using space when surrounding lines contains tab makes the text not aligned 
in the diff.

Anyway, I'm very eager to have feedback of any kind. If there is a blatant bug 
I'd like to hear about it.

Best regards,

Thomas Preud'homme

Attachment: add_arm_hardfloat.patch
Description: Text Data

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

reply via email to

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