Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dramsys failing to compile with GCC >= v13 (causing weekly test failure) #1121

Open
ivanaamit opened this issue May 10, 2024 · 0 comments
Open

Comments

@ivanaamit
Copy link
Contributor

ivanaamit commented May 10, 2024

Weekly tests are failing https://github.com/gem5/gem5/actions/runs/8948827382.

We switched to Ubuntu 24.04, and it uses GCC 13 which has some compatibility issues when compiling dramsys.

 [     CXX] src/mem/dramsys_wrapper.cc -> ALL/mem/dramsys_wrapper.o
 [     CXX] src/mem/dramsys.cc -> ALL/mem/dramsys.o
In file included from src/systemc/ext/systemc_home/include/../../tlm_core/2/sockets/sockets.hh:24,
                 from src/systemc/ext/systemc_home/include/../../tlm:31,
                 from src/systemc/ext/systemc_home/include/tlm:20,
                 from ext/dramsys/DRAMSys/src/libdramsys/DRAMSys/common/dramExtensions.h:44,
                 from ext/dramsys/DRAMSys/src/libdramsys/DRAMSys/common/TlmRecorder.h:44,
                 from ext/dramsys/DRAMSys/src/libdramsys/DRAMSys/simulation/DRAMSysRecordable.h:40,
                 from src/mem/dramsys_wrapper.hh:36,
                 from src/mem/dramsys_wrapper.cc:29:
src/systemc/ext/systemc_home/include/tlm_utils/../../../tlm_utils/multi_passthrough_target_socket.h: In instantiation of ‘class tlm_utils::multi_passthrough_target_socket<DRAMSys::Arbiter>’:
ext/dramsys/DRAMSys/src/libdramsys/DRAMSys/simulation/Arbiter.h:66:57:   required from here
src/systemc/ext/systemc_home/include/../../tlm_core/2/sockets/target_socket.hh:125:5: error: ‘void tlm::tlm_base_target_socket<BUSWIDTH, FW_IF, BW_IF, N, POL>::bind(fw_interface_type&) [with unsigned int BUSWIDTH = 32; FW_IF = tlm::tlm_fw_transport_if<>; BW_IF = tlm::tlm_bw_transport_if<>; int N = 0; sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND; fw_interface_type = tlm::tlm_fw_transport_if<>]’ was hidden [-Werror=overloaded-virtual=]
  125 |     bind(fw_interface_type &ifs)
      |     ^~~~
In file included from src/systemc/ext/systemc_home/include/tlm_utils/multi_passthrough_target_socket.h:20,
                 from ext/dramsys/DRAMSys/src/libdramsys/DRAMSys/simulation/Arbiter.h:52,
                 from ext/dramsys/DRAMSys/src/libdramsys/DRAMSys/simulation/DRAMSys.h:49,
                 from ext/dramsys/DRAMSys/src/libdramsys/DRAMSys/simulation/DRAMSysRecordable.h:41:
src/systemc/ext/systemc_home/include/tlm_utils/../../../tlm_utils/multi_passthrough_target_socket.h:277:5: note:   by ‘void tlm_utils::multi_passthrough_target_socket<MODULE, BUSWIDTH, TYPES, N, POL>::bind(base_type&) [with MODULE = DRAMSys::Arbiter; unsigned int BUSWIDTH = 32; TYPES = tlm::tlm_base_protocol_types; unsigned int N = 0; sc_core::sc_port_policy POL = sc_core::SC_ONE_OR_MORE_BOUND; base_type = tlm_utils::multi_target_base<32, tlm::tlm_base_protocol_types, 0, sc_core::SC_ONE_OR_MORE_BOUND>]’
  277 |     bind(base_type &s)
      |     ^~~~

The direct issue is the bind function being hidden by overloaded virtual functions in systemc. This is a warning thrown as an error, and is only detected in GCC version >= 13.

I have tried fixing this but believe the only actual solution to this is rename methods to make clear which functions are to be overridden and which are not.

To Reproduce

git clone https://github.com/tukl-msd/DRAMSys --branch v5.0 --depth 1 ext/dramsys/DRAMSys
docker run -u ${UID} -v $(pwd):/gem5 -w /gem5 -it --rm ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest scons build/ALL/gem5.opt -j `nproc`
@BobbyRBruce BobbyRBruce changed the title Weekly tests failure Dramsys failing to compile with GCC 13 (causing weekly test failure) May 13, 2024
@BobbyRBruce BobbyRBruce changed the title Dramsys failing to compile with GCC 13 (causing weekly test failure) Dramsys failing to compile with GCC >= v13 (causing weekly test failure) May 13, 2024
BobbyRBruce added a commit to BobbyRBruce/gem5 that referenced this issue May 20, 2024
Until gem5#1121 is fixed, this change
will ensure our Weekly tests pass.

Change-Id: I71d27edf5a2d03219e9a009f2b6fb88bea75a77e
BobbyRBruce added a commit to BobbyRBruce/gem5 that referenced this issue May 20, 2024
Until gem5#1121 is fixed, this change
will ensure our Weekly tests pass.

Change-Id: I71d27edf5a2d03219e9a009f2b6fb88bea75a77e
BobbyRBruce added a commit that referenced this issue May 21, 2024
Until #1121 is fixed, this change
will ensure our Weekly tests pass.
BobbyRBruce added a commit to BobbyRBruce/gem5 that referenced this issue May 25, 2024
Until gem5#1121 is fixed, this change
will ensure our Weekly tests pass.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant