[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] mob is broken for ARM/ARM64 [make tcc reentrant]
From: |
Christian Jullien |
Subject: |
Re: [Tinycc-devel] mob is broken for ARM/ARM64 [make tcc reentrant] |
Date: |
Thu, 12 Dec 2019 06:53:00 +0100 |
Many thanks.
Everything is now fixed including the warnings.
Tested on Linux ARM/Aarch64 and Windows 32/64 using reproducible build.
Christian
-----Original Message-----
From: Michael Matz [mailto:address@hidden]
Sent: Thursday, December 12, 2019 01:54
To: address@hidden; address@hidden
Subject: Re: [Tinycc-devel] mob is broken for ARM/ARM64 [make tcc reentrant]
Hi,
On Wed, 11 Dec 2019, Christian Jullien wrote:
> On ARM it still fails with "In file included from ../tcc.h:348:
> ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
computation with VFP instructions"
Sure, I was only talking about the "library 'c' not found" problem. At
home I could now also test ARM: I was distracted while doing the last
patch so it wasn't complete. Now fixed as well, and ARM now works again.
(I've also fixed the aligned_function address test)
Ciao,
Michael.
>
> Which can be fixed by adding
>
> #define TCC_ARM_VFP in tcc.h
>
> Otherwise, Aarch64 is fine.
>
> Tomorrow I'll add the missing headers to remove warnings.
>
> -----Original Message-----
> From: Tinycc-devel
[mailto:tinycc-devel-bounces+eligis=address@hidden] On Behalf Of
Michael Matz
> Sent: Wednesday, December 11, 2019 18:11
> To: address@hidden; address@hidden
> Subject: Re: [Tinycc-devel] mob is broken for ARM/ARM64 [make tcc
reentrant]
>
> Hello Christian,
>
> On Wed, 11 Dec 2019, Christian Jullien wrote:
>
>> but, as still does Aarch64, gives:
>> ----- libtest : tcc in threads -----
>> tcc: error: library 'c' not found
>
> Yeah, on x86-64 as well. I think I've fixed this in mob now. Please
> recheck.
>
>
> Ciao,
> Michael.
>
>>
>> Adding $(NATIVE_DEFINES) does not help.
>>
>> All other tests are OK.
>>
>> Do you see the light?
>>
>> -----Original Message-----
>> From: grischka [mailto:address@hidden]
>> Sent: Wednesday, December 11, 2019 14:21
>> To: address@hidden; address@hidden
>> Subject: Re: [Tinycc-devel] mob is broken for ARM/ARM64 [make tcc
reentrant]
>>
>> Christian Jullien wrote:
>> > Hi guys,
>> >
>> > Testing mod show that ARM and Aarch64 are broken differently. I'm
>> reluctant to test it only Windows as it will break my Lisp development
>> toolchain.
>>
>> Hi Christian,
>>
>> there are two things basically you could do. First in tests/Makefile:78
>> you could try adding $(NATIVE_DEFINES):
>>
>> @echo ------------ $@ ------------
>> ./libtcc_tes$*$(EXESUF) $(TCCFLAGS) $(NATIVE_DEFINES) <-----
>>
>> Second is at tcc.h:150, if you want to you could tweak the default
>> settings for these architectures. The bits there are meant basically
>> to make compiling tcc as simple as if it were a hello-world program
>> (which it is after all, or close to):
>>
>> gcc tcc.c -o tcc
>>
>> Therefor, if you think that your system configuration is somehow
>> "default", then you have my full okay to add the two or three lines
>> each there to get such simplicity as a feature. ;)
>>
>> (Maybe TCC_ARM_VFP and/or CONFIG_TRIPLET and/or whatever you see
>> on the gcc command from make.) To see whether it really works you
>> would need to run two stages:
>>
>> gcc tcc.c -o tcc && ./tcc -B. tcc.c -o tcc1
>>
>> If you did install tcc previously, -B. may be omitted too.
>>
>> As to 'usleep' and 'gettimeofday', maybe it needs unistd.h or time.h or
>> maybe sys/time.h. I see your gcc suggests to use 'fseek' instead of
>> 'usleep'. That is interesting.
>>
>> Thanks,
>>
>> --- grischka
>>
>> > === For ARM
>> >
>> > gcc -o libtcc_test_mt libtcc_test_mt.c ../libtcc.a -fno-strict-aliasing
>> -I.. -I. .
-lm
>> -lpthread -ldl
>> > libtcc_test_mt.c: In function 'sleep_ms':
>> > libtcc_test_mt.c:51:5: warning: implicit declaration of function
'usleep';
>> did y ou mean
>> 'fseek'? [-Wimplicit-function-declaration]
>> > usleep(n * 1000);
>> > ^~~~~~
>> > fseek
>> > libtcc_test_mt.c: In function 'getclock_ms':
>> > libtcc_test_mt.c:236:5: warning: implicit declaration of function
>> 'gettimeofday'
>> [-Wimplicit-function-declaration]
>> > gettimeofday(&tv, NULL);
>> > ^~~~~~~~~~~~
>> > ------------ libtest_mt ------------
>> > ./libtcc_test_mt -B.. -I../include -I.. -I..
>> > ----- libtest : mixed calls -------
>> > 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946
>> > (25 ms)
>> > ----- libtest : threads ------------
>> > 1 8 2 3 144 34 13 89 377 987 2584 4181 233 5 610 1597 6765 55 10946 21
>> > (21 ms)
>> > ----- libtest : tcc in threads -----
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> >
>> > (927 ms)
>> > ----- compilation of tcc -----------
>> > In file included from ../tcc.c:21:
>> > In file included from ../tcc.h:348:
>> > ../arm-gen.c:27: error: #error "Currently TinyCC only supports float
>> computation
with
>> VFP instructions"
>> > (4 ms)
>> >
>> >
>> >
>> >
>> >
>> > === For Aarch64
>> >
>> > libtcc_test_mt.c:51:5: warning: implicit declaration of function
'usleep'
>> [-Wimplicit-function-declaration]
>> > 51 | usleep(n * 1000);
>> > | ^~~~~~
>> > libtcc_test_mt.c: In function 'getclock_ms':
>> > libtcc_test_mt.c:236:5: warning: implicit declaration of function
>> 'gettimeofday' [-Wimplicit-function-declaration]
>> > 236 | gettimeofday(&tv, NULL);
>> > | ^~~~~~~~~~~~
>> > ------------ libtest_mt ------------
>> > ./libtcc_test_mt -B.. -I../include -I.. -I..
>> > ----- libtest : mixed calls -------
>> > 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946
>> > (41 ms)
>> > ----- libtest : threads ------------
>> > 3 2 1 5 8 13 21 34 144 233 55 2584 89 610 987 377 1597 6765 4181 10946
>> > (31 ms)
>> > ----- libtest : tcc in threads -----
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> > tcc: error: library 'c' not found
>> >
>> > (4471 ms)
>> >
>> >
>> > _______________________________________________
>> > Tinycc-devel mailing list
>> > address@hidden
>> > https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>>
>>
>> _______________________________________________
>> Tinycc-devel mailing list
>> address@hidden
>> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>>
>
> _______________________________________________
> Tinycc-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
>
> _______________________________________________
> Tinycc-devel mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel