|
From: | Christian Jullien |
Subject: | [Tinycc-devel] 114_bound_signal error when tcc is compiled by tcc on macOS M1, new -arch behavior |
Date: | Wed, 4 Aug 2021 08:46:56 +0200 |
Hi folks, =1== The last commit gives this error when tcc is bootstrapped with tcc on macOS M1: --- 114_bound_signal.expect 2021-08-04 07:25:22.000000000 +0200 +++ 114_bound_signal.output 2021-08-04 07:26:04.000000000 +0200 @@ -1,2 +1,3 @@ start -end +7fff2045b618 : at ???: RUNTIME ERROR: illegal instruction +7fff20268bb6 : by ??? \ No newline at end of file gmake[3]: *** [Makefile:133: 114_bound_signal.test] Error 1 It works nice when bootstrapped with clang =2== As with the last commit, I initially simply ignore –arch argument but I quickly changed my mind because one of project (on macOS) was not building like it would. clang knows how to build both arm64/x86_64 on macOS intel and arm64 cpu. jullien@byas:~ $ clang -arch arm64 -c foo.c && file foo.o foo.o: Mach-O 64-bit object arm64 jullien@byas:~ $ clang -arch x86_64 -c foo.c && file foo.o foo.o: Mach-O 64-bit object x86_64 gcc only knows to build native object (here on my macOS x86_64). At least it lets me know jullien@byas:~ $ gcc -arch arm64 -c foo.c && file foo.o gcc: error: this compiler does not support arm64 <= Sad but I least I know!! jullien@byas:~ $ gcc -arch x86_64 -c foo.c && file foo.o foo.o: Mach-O 64-bit object x86_64 jullien@byas:~ $ tcc -arch x86_64 -c foo.c && file foo.o foo.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped jullien@byas:~ $ tcc -arch arm64 -c foo.c && file foo.o foo.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped With tcc the build succeeds but I’m not aware of. Grischka, can you please reconsider this choice as it seems dangerous to me to ignore argument? Please note that my error message was the same as gcc. C. |
[Prev in Thread] | Current Thread | [Next in Thread] |