[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] AArch64 status?
From: |
Christian Jullien |
Subject: |
[Tinycc-devel] AArch64 status? |
Date: |
Fri, 30 Oct 2015 07:06:48 +0100 |
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?
address@hidden:~/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
address@hidden:~/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
address@hidden:~/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
address@hidden:~/tinycc$
- [Tinycc-devel] AArch64 status?,
Christian Jullien <=