Jump to content
it3q

make check fails after successful compilation with clang on cygwin

Recommended Posts

Hi!

I'm trying to compile and install systemC 2.3.3 using clang on cygwin. After successful compilation during 'make check' I got the following error:

=================================================
   SystemC 2.3.3: examples/sysc/test-suite.log
=================================================

# TOTAL: 22
# PASS:  21
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: 2.1/reset_signal_is/test.sh
=================================


        SystemC 2.3.3-Accellera --- Sep 24 2019 08:02:39
        Copyright (c) 1996-2018 by all Contributors,
        ALL RIGHTS RESERVED
***ERROR:
13a14,102
> 13 ns: reset
> 14 ns: 0
> 15 ns: 1
> 16 ns: 2
> 17 ns: 3
> 18 ns: 4
> 19 ns: 5
> 20 ns: 6
> 21 ns: 7
> 22 ns: 8
> 23 ns: 9
> 24 ns: 10
> 25 ns: 11
> 26 ns: 12
> 27 ns: 13
> 28 ns: 14
> 29 ns: 15
> 30 ns: 16
> 31 ns: 17
> 32 ns: 18
> 33 ns: reset
> 34 ns: 0
> 35 ns: 1
> 36 ns: 2
> 37 ns: 3
> 38 ns: 4
> 39 ns: 5
> 40 ns: 6
> 41 ns: 7
> 42 ns: 8
> 43 ns: 9
> 44 ns: 10
> 45 ns: 11
> 46 ns: 12
> 47 ns: 13
> 48 ns: 14
> 49 ns: 15
> 50 ns: 16
> 51 ns: 17
> 52 ns: 18
> 53 ns: reset
> 54 ns: 0
> 55 ns: 1
> 56 ns: 2
> 57 ns: 3
> 58 ns: 4
> 59 ns: 5
> 60 ns: 6
> 61 ns: 7
> 62 ns: 8
> 63 ns: 9
> 64 ns: 10
> 65 ns: 11
> 66 ns: 12
> 67 ns: 13
> 68 ns: 14
> 69 ns: 15
> 70 ns: 16
> 71 ns: 17
> 72 ns: 18
> 73 ns: reset
> 74 ns: 0
> 75 ns: 1
> 76 ns: 2
> 77 ns: 3
> 78 ns: 4
> 79 ns: 5
> 80 ns: 6
> 81 ns: 7
> 82 ns: 8
> 83 ns: 9
> 84 ns: 10
> 85 ns: 11
> 86 ns: 12
> 87 ns: 13
> 88 ns: 14
> 89 ns: 15
> 90 ns: 16
> 91 ns: 17
> 92 ns: 18
> 93 ns: reset
> 94 ns: 0
> 95 ns: 1
> 96 ns: 2
> 97 ns: 3
> 98 ns: 4
> 99 ns: 5
> 100 ns: 6
> Done
 

I configured systemC in the following way:

export CXX=clang++
export CC=clang
../configure --prefix=/usr/local/systemc-2.3.3/ --enable-pthreads --enable-debug

clang version:

$ clang++ --version
clang version 8.0.1 (tags/RELEASE_801/final)
Target: x86_64-unknown-windows-cygnus
Thread model: posix
InstalledDir: /usr/bin


'make check' runs without failure when using GCC compiler.

Does anybody have a hint what could go wrong in case of clang?

 

Thanks, in advance!

Peter

Share this post


Link to post
Share on other sites

Right now I don't have the opportunity to check Clang 8 on other OS. I tried to compile with Clang 5.0.1 on cygwin. The same test failed as with Clang 8. May be cygwin issue, but cygwin's GCC version 7.4.0 compiles systemC that then passes all tests. I use cygwin 64 bit version 3.0.7

P.

Share this post


Link to post
Share on other sites

It seems to be a crash to me as well.

$ gdb test.exe
GNU gdb (GDB) (Cygwin 8.1.1-1) 8.1.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-cygwin".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from test.exe...(no debugging symbols found)...done.
(gdb) run
Starting program: /cygdrive/c/install/systemc/systemc-2.3.3_clang/systemc-2.3.3/objdir/examples/sysc/2.1/reset_signal_is/test.exe
[New Thread 13360.0x2e78]
[New Thread 13360.0x2e6c]
[New Thread 13360.0x3720]
[New Thread 13360.0x328]
[New Thread 13360.0x1f68]
[New Thread 13360.0x2994]

        SystemC 2.3.3-Accellera --- Sep 25 2019 08:55:13
        Copyright (c) 1996-2018 by all Contributors,
        ALL RIGHTS RESERVED
0 s: reset
1 ns: 0
2 ns: 1
3 ns: 2
4 ns: 3
5 ns: 4
6 ns: 5
7 ns: 6
8 ns: 7
9 ns: 8
10 ns: 9
11 ns: 10
12 ns: 11
[Thread 13360.0x2e6c exited with code 67]
[Thread 13360.0x3720 exited with code 67]
[Thread 13360.0x328 exited with code 67]
[Thread 13360.0x2994 exited with code 67]
[Inferior 1 (process 13360) exited with code 0103]
(gdb)

Does this tell you something? Or should I put a breakpoint somewhere?

P.

Share this post


Link to post
Share on other sites
10 minutes ago, it3q said:

[Inferior 1 (process 13360) exited with code 0103]

Exit code 0x103 could indicate an "illegal instruction".  Can you try building SystemC with --disable-optimize?

As Roman mentioned earlier, Clang 8 is pretty new and SystemC has never been tested with Clang on Windows.

Share this post


Link to post
Share on other sites

test.exe debugged above was built by clang 5.0.2. Having configured with --disable-optimize and compiled with clang 5 resulted that all tests passed.

In case of clang 8.0.1 test.exe (reset_signal_is test) exited with the same (0103) code. When I added --disable-optimize to configure 'make check' fails at the same test (reset_signal_is) but with different exit code: 05400.

What do you recommend? Is it worth to use clang 5 compiler with optimization disabled or better if I stay with gcc?

(My main motivation of using clang was to reduce compilation times of SystemC based simulations.)

P.

Share this post


Link to post
Share on other sites

Clang 5 works fine for me on Linux.  This may be a combination of Clang + Cygwin. 

Quote

(My main motivation of using clang was to reduce compilation times of SystemC based simulations.)

According to benchmarks https://www.phoronix.com/scan.php?page=article&item=gcc-clang-2019&num=4  compilation time difference for most projects is within 10%.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...