it3q Posted September 24, 2019 Report Share Posted September 24, 2019 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 Quote Link to comment Share on other sites More sharing options...
Roman Popov Posted September 25, 2019 Report Share Posted September 25, 2019 Clang 8 is quite new compiler and SystemC 2.3.3 was not tested against it. Do you see this issue only in Cygwin? Or in general with Clang 8, including Clang 8 on MacOS / Linux ? Quote Link to comment Share on other sites More sharing options...
it3q Posted September 25, 2019 Author Report Share Posted September 25, 2019 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. Quote Link to comment Share on other sites More sharing options...
Philipp A Hartmann Posted September 25, 2019 Report Share Posted September 25, 2019 Can you run the failing test manually in a debugger and provide more details on the error? The log looks truncated, as if there is a crash in the test. Quote Link to comment Share on other sites More sharing options...
it3q Posted September 25, 2019 Author Report Share Posted September 25, 2019 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. Quote Link to comment Share on other sites More sharing options...
Philipp A Hartmann Posted September 25, 2019 Report Share Posted September 25, 2019 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. Quote Link to comment Share on other sites More sharing options...
it3q Posted September 25, 2019 Author Report Share Posted September 25, 2019 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. Quote Link to comment Share on other sites More sharing options...
Roman Popov Posted September 25, 2019 Report Share Posted September 25, 2019 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%. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.