Search code examples
xcodeexc-bad-accesssystemc

How to fix permanent EXC_BAD_ACCESS exception in Xcode using SystemC?


I want to write SystemC code using the Xcode IDE. I have set it all up and the code I use for testing my Installation builds just fine, but it runs always into Thread 1: EXC_BAD_ACCESS exception, no matter what I do.

I tried to comment everything out, until only the systemc header include and the sc_main was left. When I tried normal c++ code in a different project, to see if it was a general Xcode problem, it work fine and ran into no exception.

I use this generic Hello World-code to test my Installation:

#include <systemc>
 //Hello_world is module name
SC_MODULE (hello_world) {
    SC_CTOR (hello_world) {
      // Nothing in constructor
    }

    void say_hello() {
        //Print "Hello World" to the console.
        std::cout << "Hello World.\n";
   }
};

// sc_main in top level function like in C++ main
int sc_main(int argc, char* argv[]) {
    hello_world hello("HELLO");
     //Print the hello world
    hello.say_hello();
    return(0);
}

After the code ran for a few seconds, it always crashes with: Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeef3ffff8).

EDIT: My Config:
- SystemC: v2.3.3
- Xcode: v10.2.1 (10E1001)
- Compiler: (I ran gcc --version)
    - LLV: v10.0.1 (clang-1001.0.46.4)
    - c++: v4.2.1
Im using std=gnu++98 (Compiler Default) as c++language Dialect, everything else ran into build errors.


Solution

  • I did it! I built SystemC with Cmake following the steps provided in this answer: Setting up a SystemC project with CMake: undefined reference to sc_core .
    In the CMakeLists.txt I set CMAKE_CXX_STANDARD explicitly to 11 and built the project via the command line and cmake.
    Thanks for the help:)