Here is the complete log which is not too bad:
jullien@gcc113:~/tinycc$ make -k tests make: Nothing to be done for `tests'. jullien@gcc113:~/tinycc$ make -k test > foo 2>&1 jullien@gcc113:~/tinycc$ more foo 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-l inux-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 ------------ libtest ------------ ./libtcc_test -B.. -I.. -I.. -I../include -L.. tcc: error: R_AARCH64_(JUMP|CALL)26 relocation failed (val=2a9835f0, addr=401990 ) make[1]: *** [libtest] Error 1 gcc -o tcctest.cc tcctest.c -I.. -I.. -w -DCONFIG_MULTIARCHDIR="\"aarch64-linu x-gnu\"" -DTCC_TARGET_ARM64 -std=gnu99 -O0 -fno-omit-frame-pointer ./tcctest.cc > test.ref ------------ test3 ------------ ../tcc -B.. -I.. -I.. -I../include -L.. -DCONFIG_MULTIARCHDIR="\"aarch64-linux-g nu\"" -DTCC_TARGET_ARM64 -DONE_SOURCE -run ../tcc.c -B.. -I.. -I.. -I../include -L.. -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -DONE_SOUR CE -run ../tcc.c -B.. -I.. -I.. -I../include -L.. -DCONFIG_MULTIARCHDIR="\"aarch 64-linux-gnu\"" -DTCC_TARGET_ARM64 -DONE_SOURCE -run ../tcc.c -B.. -I.. -I.. -I. ./include -L.. -run tcctest.c > test.out3 Auto Test3 OK gcc -o abitest-cc abitest.c ../libtcc.a -I.. -DCONFIG_MULTIARCHDIR="\"aarch64- linux-gnu\"" -DTCC_TARGET_ARM64 -lm -ldl -I.. ../tcc -B.. -I.. -I.. -I../include -L.. -o abitest-tcc abitest.c ../libtcc.c -I. . -DCONFIG_MULTIARCHDIR="\"aarch64-linux-gnu\"" -DTCC_TARGET_ARM64 -DONE_SOURC E -lm -ldl -I.. ------------ abitest ------------ ./abitest-cc -B.. -I.. -I.. -I../include -L.. ret_int_test... success ret_longlong_test... success ret_float_test... success ret_double_test... success ret_longdouble_test... success ret_2float_test... success ret_2double_test... success ret_mixed3_test... success reg_pack_test... success reg_pack_longlong_test... success sret_test... success one_member_union_test... success two_member_union_test... success many_struct_test... success many_struct_test_2... success many_struct_test_3... success stdarg_test... success stdarg_struct_test... success arg_align_test... success if [ "" != "yes" ]; then ./abitest-tcc -B.. -I.. -I.. -I../include -L..; fi ret_int_test... success ret_longlong_test... success ret_float_test... success ret_double_test... success ret_longdouble_test... success ret_2float_test... success ret_2double_test... success ret_mixed3_test... success reg_pack_test... success reg_pack_longlong_test... success sret_test... success one_member_union_test... success two_member_union_test... success many_struct_test... success many_struct_test_2... success many_struct_test_3... success stdarg_test... success stdarg_struct_test... success arg_align_test... success ------------ tests2-dir ------------ make -k -C tests2 make[2]: Entering directory `/home/jullien/tinycc/tests/tests2' Test: 00_assignment... Test: 01_comment... Test: 02_printf... Test: 03_struct... Test: 04_for... Test: 05_array... Test: 06_case... Test: 07_function... Test: 08_while... Test: 09_do_while... Test: 10_pointer... Test: 11_precedence... Test: 12_hashdefine... Test: 13_integer_literals... Test: 14_if... Test: 15_recursion... Test: 16_nesting... Test: 17_enum... Test: 18_include... Test: 19_pointer_arithmetic... Test: 20_pointer_comparison... Test: 21_char_array... Test: 22_floating_point... Test: 23_type_coercion... Test: 24_math_library... Test: 25_quicksort... Test: 26_character_constants... Test: 27_sizeof... Test: 28_strings... Test: 29_array_address... Test: 30_hanoi... Test: 31_args... Test: 32_led... Test: 33_ternary_op... Test: 35_sizeof... Test: 36_array_initialisers... Test: 37_sprintf... Test: 38_multiple_array_index... Test: 39_typedef... Test: 40_stdio... Test: 41_hashif... Test: 42_function_pointer... Test: 43_void_param... Test: 44_scoped_declarations... Test: 45_empty_for... Test: 46_grep... Test: 47_switch_return... Test: 48_nested_break... Test: 49_bracket_evaluation... Test: 50_logical_second_arg... Test: 51_static... Test: 52_unnamed_enum... Test: 54_goto... Test: 55_lshift_type... Test: 56_btype_excess-1... Test: 57_btype_excess-2... Test: 58_function_redefinition... Test: 59_function_array... Test: 60_enum_redefinition... Test: 61_undefined_enum... Test: 62_enumerator_redefinition... Test: 63_local_enumerator_redefinition... Test: 64_macro_nesting... Test: 67_macro_concat... Test: 70_floating_point_literals... Test: 71_macro_empty_arg... Test: 72_long_long_constant... Test: 73_arm64... Test: 74_nocode_wanted... Test: 75_array_in_struct_init... Test: 76_dollars_in_identifiers... Test: 77_push_pop_macro... Test: 78_vla_label... --- 78_vla_label.expect 2015-10-29 22:58:50.244155160 -0700 +++ 78_vla_label.output 2015-10-30 23:12:55.164155160 -0700 @@ -1,2 +1 @@ -boom! -boom! +78_vla_label.c:7: error: variable length arrays unsupported for this target make[2]: *** [78_vla_label.test] Error 1 Test: 79_vla_continue... --- 79_vla_continue.expect 2015-10-29 22:58:50.244155160 -0700 +++ 79_vla_continue.output 2015-10-30 23:12:55.174155160 -0700 @@ -1,5 +1 @@ -OK -OK -OK -OK -OK +79_vla_continue.c:13: error: variable length arrays unsupported for this target make[2]: *** [79_vla_continue.test] Error 1 make[2]: Target `all' not remade because of errors. make[2]: Leaving directory `/home/jullien/tinycc/tests/tests2' make[1]: *** [tests2-dir] Error 2 ------------ pp-dir ------------ make -k -C pp make[2]: Entering directory `/home/jullien/tinycc/tests/pp' PPTest 01 ... PPTest 02 ... PPTest 03 ... PPTest 04 ... PPTest 05 ... PPTest 06 ... PPTest 07 ... PPTest 08 ... PPTest 09 ... PPTest 10 ... PPTest 11 ... make[2]: Leaving directory `/home/jullien/tinycc/tests/pp' make[1]: Target `test' not remade because of errors. make[1]: Leaving directory `/home/jullien/tinycc/tests' make: *** [test] Error 2 -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Edmund Grimley Evans Sent: vendredi 30 octobre 2015 09:35 To: [email protected] Subject: Re: [Tinycc-devel] AArch64 status? > 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). You're one of the first people to try it. I'm not very surprised by that error. I vaguely recall that there are some fundamental problems in the linker, problems that are not specific to arm64 but which happen to appear mostly with arm64. I tested it just now under QEMU on an i386 machine, and all tests passed, which shows that the code generation is mostly complete. The error above has to do with a B/BL being out of range. If you try the test lots of times then you might find it occasionally passes because the target code happened to get allocated within range. The linker ought to insert a veneer, but it doesn't. I'm not sure what the status is of VLAs. I just had 78_vla_label and 79_vla_continue pass, though vla_test-run (in tests/Makefile) is only run on x86-64, suggesting that those tests are not supposed to pass on arm64. Do you have any failures other than those three (libtest, 78, 79)? Edmund _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
