Jump to content

Search the Community

Showing results for tags 'gcc'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Accellera Systems Initiative
    • Information
    • Announcements
    • In the News
  • SystemC
    • SystemC Language
    • SystemC AMS (Analog/Mixed-Signal)
    • SystemC TLM (Transaction-level Modeling)
    • SystemC Verification (UVM-SystemC, SCV, CRAVE, FC4SC)
    • SystemC CCI (Configuration, Control & Inspection)
    • SystemC Datatypes
  • UVM (Universal Verification Methodology)
    • UVM (IEEE 1800.2) - Methodology and BCL Forum
    • UVM SystemVerilog Discussions
    • UVM Simulator Specific Issues
    • UVM Commercial Announcements
    • UVM (Pre-IEEE) Methodology and BCL Forum
  • Portable Stimulus
    • Portable Stimulus Discussion
    • Portable Stimulus 2.0 Public Review Feedback
  • IP Security
    • SA-EDI Standard Discussion
    • IP Security Assurance Whitepaper Discussion
    • IP-XACT Discussion
  • SystemRDL
    • SystemRDL Discussion
  • IEEE 1735/IP Encryption
    • IEEE 1735/IP Encryption Discussion
  • Commercial Announcements
    • Announcements


  • SystemC
  • UVM
  • UCIS
  • IEEE 1735/IP Encryption


  • Community Calendar

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL












Found 3 results

  1. Hello Everyone, I came to an issue which is only occuring with gcc-7.4.0 and linux 32 bit. The issue is with this static cast statement in the following scenario. # define SC_MAKE_FUNC_PTR(callback_tag, func) \ static_cast<sc_core::SC_ENTRY_FUNC>(&callback_tag::func) I Create a SystemC shared library (systemc.so) It has a memory Module Memory Module has TWO SC_METHODS p_memory and p_foo p_foo has no implementation --> this should give linking error. In order to provide some utlity to detect the undefined methods I create a stub.c file as shown below. This stub basically creates a function with the decorated name and has an implementation which issues a specific message instead of blocking the design. I generate (systemc_stub.so) to deal with the stub independent of systemc.so Then i Create a main where I load systemc_stub.so and then system.so Then i get the sc_main sybmol and launch the simulation. Design attached The Issue i see with gcc-7.4.0 , 32 bit is that the static cast fails as below. You will find in the code i inserted the code of SC_METHOD rather than the macro in order to see where the issue is coming from. Good case where the function is implemented inside systemc.so vs bad case. It looks to me the there is something happens with the static_cast to dispatch this function and cast it. Can anyone help me with this ? (gdb) p tmp2 $1 = (void (sc_core::sc_process_host::*)(sc_core::sc_process_host * const)) 0xf7fc140c <memory::p_memory()>, this adjustment -64 SC_ENTRY_FUNC tmp = static_cast<SC_ENTRY_FUNC>(&memory::p_foo); (gdb) n 46 ::sc_core::sc_process_handle p_foo_handle = sc_core::sc_get_curr_simcontext()->create_method_process( "p_foo", false, tmp, this, 0); (gdb) p tmp $1 = &virtual table offset -134397620, this adjustment -64 stub.c #ifdef __cplusplus #define DPI_LINK_DECL extern "C" #else #define DPI_LINK_DECL #endif #define FOUND_UNDEFINED_SYMBOL(nm) \ DPI_LINK_DECL void nm () {} FOUND_UNDEFINED_SYMBOL(_ZN6memory5p_fooEv) Thanks, Samuel gcc-7.4.0-issue.7z
  2. include/sysc/communication/sc_fifo.h:269:10: warning: unused variable ‘write_success’ [-Wunused-variable] bool write_success = sc_fifo<T>::nb_write(val_); include/sysc/communication/sc_fifo.h:226:10: warning: unused variable ‘read_success’ [-Wunused-variable] bool read_success = sc_fifo<T>::nb_read(val_); sc_fifo.h: bool write_success = sc_fifo<T>::nb_write(val_); sc_assert( write_success ); sc_report.h #if defined(NDEBUG) && !defined(SC_ENABLE_ASSERTIONS) // disable assertions #define sc_assert(expr) \ ((void) 0) .... i.e. expr is not addressed when assertions are disabled This is resolved with #if defined(NDEBUG) && !defined(SC_ENABLE_ASSERTIONS) // disable assertions #define sc_assert(expr) \ ((void)(expr)) ....
  3. I am totally new to systemc. i am using gcc 7.3.0. while compiling it says error: std::gets has not been declared... while searching for a solution i found that gcc 4.8 is hugely compatible with c++11... so does i have to download gcc 4.8? any help will be hugely appreciated
  • Create New...