[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] libtcc1 on ARM now contains runtime functions
From: |
Thomas Preud'homme |
Subject: |
Re: [Tinycc-devel] libtcc1 on ARM now contains runtime functions |
Date: |
Sat, 14 Dec 2013 19:32:42 +0800 |
User-agent: |
KMail/4.11.3 (Linux/2.6.38-ac2-ac100; KDE/4.11.3; armv7l; ; ) |
Le samedi 14 décembre 2013, 08:19:15 Christian Jullien a écrit :
> Hi Thomas,
>
> I this morning I decided to test your new runtime functions on my beloved
> RPi.
> As usual, I've made a fresh install:
>
> And tried to compile using only "./configure; make"
>
> Then, I got:
> ------------ test3 ------------
> ../tcc -B.. -I.. -I.. -I../include -DCONFIG_LDDIR="\"lib\""
> -DCONFIG_MULTIARCHDIR="\"arm-linux-gnueabihf\"" -DTCC_TARGET_ARM
> -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT -DTCC_ARM_VFP -DONE_SOURCE -run ../tcc.c
> -B.. -I.. -I.. -I../include -DCONFIG_LDDIR="\"lib\""
> -DCONFIG_MULTIARCHDIR="\"arm-linux-gnueabihf\"" -DTCC_TARGET_ARM
> -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT -DTCC_ARM_VFP -DONE_SOURCE -run ../tcc.c
> -B.. -I.. -I.. -I../include -DCONFIG_LDDIR="\"lib\""
> -DCONFIG_MULTIARCHDIR="\"arm-linux-gnueabihf\"" -DTCC_TARGET_ARM
> -DTCC_ARM_EABI -DTCC_ARM_HARDFLOAT -DTCC_ARM_VFP -DONE_SOURCE -run ../tcc.c
> -B.. -I.. -I.. -I../include -run ../tests/tcctest.c > test.out3
> In file included from ../tcc.c:22:
> In file included from ../libtcc.c:21:
> In file included from ../tcc.h:32:
> In file included from /usr/include/stdlib.h:43:
> In file included from /usr/include/arm-linux-gnueabihf/bits/waitstatus.h:65:
> In file included from /usr/include/endian.h:61:
> /usr/include/arm-linux-gnueabihf/bits/byteswap.h:40: error: FIXME: function
> bigger than 32MB
Yes I get that too. The test work when compiled and launched though which was
not the case before. So it's an improvement. I know what does this error mean
but I'm wondering why I get the bug with libtcc and not libgcc. Maybe it's due
to the size of the library. I could fix this peculiar bug in gjmp but this
error happens in encbranch (called from gjmp among others) and a fix in gjmp
would thus be a partial fix. And fixing it in encbranch would change its
semantic (it would output instruction instead of just an offset).
Anyway, I'm working on it.
>
> And later:
>
> arg_align_test... success
> ./abitest-tcc lib_path=.. include="../include"
> ret_int_test... Illegal instruction
o_O. I'll have to take a look at it. I also need to complete a bit libtcc to
handle division by zero (this is not handled currently).
>
> With "./configure --with-libgcc; make"
>
> I get no error or warning.
>
> Christian
So anyway, no regression -> good news :)
Tom