This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug testsuite/80759] New: gcc.target/x86_64/abi/ms-sysv FAILs


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]