[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
relocation.
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
add_arm_hardfloat.patch
Description: Text Data
signature.asc
Description: This is a digitally signed message part.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Tinycc-devel] Support arm hardfloat calling convention,
Thomas Preud'homme <=