Hi guys, The 'GCC Compile Farm Project' recently added 4 (four) '8x2.4 GHz aarch64 / 32 GB RAM / APM X-Gene Mustang board / Ubuntu 14.04.3 LTS' machines.' I can't resist any more to see how well tcc compiles and works on an AArch64 processor.
He is my first attempt. It compiles well and first tcc "Hello World" works but first libtest test fails with tcc: error: R_AARCH64_(JUMP|CALL)26 relocation failed (val=2a4025f0, addr=401990). Am I doing something wrong? jullien@gcc113:~/tinycc$ ./configure Binary directory /usr/local/bin TinyCC directory /usr/local/lib/tcc Library directory /usr/local/lib Include directory /usr/local/include Manual directory /usr/local/share/man Info directory /usr/local/share/info Doc directory /usr/local/share/doc//usr/local/lib/tcc Target root prefix Source path /home/jullien/tinycc C compiler gcc cross compilers no Target CPU aarch64 Host OS Linux Target OS Linux Big Endian no gprof enabled no use libgcc no Creating config.mak and config.h jullien@gcc113:~/tinycc$ make gcc -o tcc.o -c tcc.c -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result-Wno-uninitialized -fno-strict-aliasing gcc -o libtcc.o -c libtcc.c -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-uninitialized -fno-strict-aliasing gcc -o tccpp.o -c tccpp.c -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-uninitialized -fno-strict-aliasing gcc -o tccgen.o -c tccgen.c -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-r esult -Wno-uninitialized -fno-strict-aliasinggcc -o tccelf.o -c tccelf.c -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-uninitialized -fno-strict-aliasing gcc -o tccasm.o -c tccasm.c -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-uninitialized -fno-strict-aliasing gcc -o tccrun.o -c tccrun.c -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-uninitialized -fno-strict-aliasing gcc -o arm64-gen.o -c arm64-gen.c -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\""-DTCC_TARGET_ARM64 -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-uninitialized -fno-strict-aliasing ar rcs libtcc.a libtcc.o tccpp.o tccgen.o tccelf.o tccasm.o tccrun.o arm64-gen.o gcc -o tcc tcc.o libtcc.a -lm -ldl -I. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-uninitialized -fno-strict-aliasing make -C lib native make[1]: Entering directory `/home/jullien/tinycc/lib' mkdir -p arm64 ../tcc -B.. -c lib-arm64.c -o arm64/lib-arm64.o -I.. -Wall -g -O0 -Wdeclaration-after-statement -Wno-deprecated-declarations -Wno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -Wno-uninitialized -fno-strict-aliasing -fPIC -DTCC_TARGET_ARM64 ar rcs ../libtcc1.a arm64/lib-arm64.o make[1]: Leaving directory `/home/jullien/tinycc/lib' if test ! -d arm64; then mkdir arm64; fi if test ! -L arm64/libtcc1.a; then ln -sf ../libtcc1.a arm64/libtcc1.a; fi ./texi2pod.pl tcc-doc.texi tcc.pod pod2man --section=1 --center="Tiny C Compiler" --release=`cat ./VERSION` tcc.pod > tcc.1 makeinfo --no-split --html --number-sections -o tcc-doc.html tcc-doc.texi makeinfo tcc-doc.texi jullien@gcc113:~/tinycc$ make test make -C tests test 'PROGS_CROSS=i386-linux-gnu-tcc x86_64-linux-gnu-tcc i386-win-mingw32-tcc x86_64-win-mingw32-tcc arm-linux-fpa-tcc arm-linux-fpa-ld-tcc arm-linux-gnu-tcc arm-linux-gnueabi-tcc c67-tcc arm-win-mingw32ce-tcc' make[1]: Entering directory `/home/jullien/tinycc/tests' ------------ hello-exe ------------ ../tcc -B.. -I.. -I.. -I../include -L.. ../examples/ex1.c -o hello || (../tcc -v v; exit 1) && ./hello Hello World ------------ hello-run ------------ ../tcc -B.. -I.. -I.. -I../include -L.. -run ../examples/ex1.c Hello World gcc -o libtcc_test libtcc_test.c ../libtcc.a -I.. -DCONFIG_MULTIARCHDIR="\"aar ch64-linux-gnu\"" -DTCC_TARGET_ARM64 -lm -ldl -I.. ------------ libtest ------------ ./libtcc_test -B.. -I.. -I.. -I../include -L.. tcc: error: R_AARCH64_(JUMP|CALL)26 relocation failed (val=2a4025f0, addr=401990 ) make[1]: *** [libtest] Error 1 make[1]: Leaving directory `/home/jullien/tinycc/tests' make: *** [test] Error 2 jullien@gcc113:~/tinycc$ _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
