This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug testsuite/80759] New: gcc.target/x86_64/abi/ms-sysv FAILs
- From: "ro at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 15 May 2017 11:48:50 +0000
- Subject: [Bug testsuite/80759] New: gcc.target/x86_64/abi/ms-sysv FAILs
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80759
Bug ID: 80759
Summary: gcc.target/x86_64/abi/ms-sysv FAILs
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: testsuite
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: daniel.santos at pobox dot com
Target Milestone: ---
Target: i?86-*-*
The new gcc.target/x86_64/abi/ms-sysv tests FAIL in various e.g. on
i386-pc-solaris2.*
and i686-pc-linux-gnu:
* In those 32-bit-default configurations, the 32-bit multilib is skipped as
unsupported as expected (although the UNSUPPORTED entry in gcc.sum occurs
e.g. 45 times for -j48 testing instead of only once), but for the 64-bit
multilib, I get
WARNING: Could not build
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c.
WARNING: Could not build
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c.
WARNING: Could not build
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c.
WARNING: Could not build
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c.
FAIL: gcc.target/x86_64/abi/ms-sysv CFLAGS="-O0 -g3" generator_args="-p0-5
--omit-rbp-clobbers"
FAIL: gcc.target/x86_64/abi/ms-sysv CFLAGS="-O2" generator_args="-p0-5"
FAIL: gcc.target/x86_64/abi/ms-sysv CFLAGS="-mcall-ms2sysv-xlogues -O0 -g3"
generator_args="-p0-5 --omit-rbp-clobbers"
FAIL: gcc.target/x86_64/abi/ms-sysv CFLAGS="-mcall-ms2sysv-xlogues -O2"
generator_args="-p0-5"
Looking at gcc.log, I find that both the generator (which seems ok) *and*
the testcases are compiled without the 64-bit multlib flag (-m64), leading
to a failing 32-bit compilation of the testcase:
spawn /var/gcc/regression/trunk/12-gcc/build/gcc/xgcc
-B/var/gcc/regression/trunk/12-gcc/build/gcc/
-I/var/gcc/regression/trunk/12-gcc/build/gcc/testsuite/gcc4/ms-sysv
-I/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv -O0
-g3 -Wall -c -o
/var/gcc/regression/trunk/12-gcc/build/gcc/testsuite/gcc4/ms-sysv/ms-sysv.o
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c^M
^[[01m^[[K/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c:62:3:^[[m^[[K
^[[01;31m^[[Kerror: ^[[m^[[K#error Test only valid on x86_64^M
# ^[[01;31m^[[Kerror^[[m^[[K Test only valid on x86_64^M
^[[01;31m^[[K^~~~~^[[m^[[K^M
^[[01m^[[K/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c:102:5:^[[m^[[K
^[[01;31m^[[Kerror: ^[[m^[[Kunknown type name '^[[01m^[[K__uint128_t^[[m^[[K'^M
^[[01;31m^[[K__uint128_t^[[m^[[K sseregs[10];^M
^[[01;31m^[[K^~~~~~~~~~~^[[m^[[K^M
^[[01m^[[K/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c:234:34:^[[m^[[K
^[[01;31m^[[Kerror: ^[[m^[[Kunknown type name '^[[01m^[[K__uint128_t^[[m^[[K'^M
static int compare_reg128 (const ^[[01;31m^[[K__uint128_t^[[m^[[K *a, const
__uint128_t *b,^M
^[[01;31m^[[K^~~~~~~~~~~^[[m^[[K^M
^[[01m^[[K/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c:234:56:^[[m^[[K
^[[01;31m^[[Kerror: ^[[m^[[Kunknown type name '^[[01m^[[K__uint128_t^[[m^[[K'^M
static int compare_reg128 (const __uint128_t *a, const
^[[01;31m^[[K__uint128_t^[[m^[[K *b,^M
^[[01;31m^[[K^~~~~~~~~~~^[[m^[[K^M
WARNING: Could not build
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.target/x86_64/abi/ms-sysv/ms-sysv.c.
Apart from lacking the -m64 flag here, the compiler invocations have lost
-fno-diagnostics-show-caret -fdiagnostics-color=never, leading to unreadable
log output.
* do-test.S only works with gas: if I try to compile it manually with Solaris
/bin/as -m64, I get
Assembler:
"/var/tmp//cce6X86d.s", line 339 : Illegal mnemonic
Near line: " .struct 0"
"/var/tmp//cce6X86d.s", line 339 : Syntax error
Near line: " .struct 0"
"/var/tmp//cce6X86d.s", line 341 : Illegal mnemonic
Near line: " .struct test_data_save + 224"
"/var/tmp//cce6X86d.s", line 341 : Syntax error
Near line: " .struct test_data_save + 224"
"/var/tmp//cce6X86d.s", line 343 : Illegal mnemonic
Near line: " .struct test_data_save + 448"
"/var/tmp//cce6X86d.s", line 343 : Syntax error
Near line: " .struct test_data_save + 448"
"/var/tmp//cce6X86d.s", line 345 : Illegal mnemonic
Near line: " .struct test_data_save + 672"
"/var/tmp//cce6X86d.s", line 345 : Syntax error
Near line: " .struct test_data_save + 672"
"/var/tmp//cce6X86d.s", line 347 : Illegal mnemonic
Near line: " .struct test_data_save + 680"
"/var/tmp//cce6X86d.s", line 347 : Syntax error
Near line: " .struct test_data_save + 680"
i.e. as doesn't understand the gas .struct extension.
It seems to me that ms-sysv.exp is seriously misguided in trying to do all
its compilations manually instead of using
dg-test/dg-runtest/gcc_target_compile
which whould nicely avoid all those issues.
Rainer