diff --git a/.github/workflows/compiler-tests.yaml b/.github/workflows/compiler-tests.yaml index 1c1ef88fd4..9db1af6417 100644 --- a/.github/workflows/compiler-tests.yaml +++ b/.github/workflows/compiler-tests.yaml @@ -16,8 +16,8 @@ jobs: strategy: fail-fast: false matrix: - image: [gcc-version-13, gcc-version-12, gcc-version-11, gcc-version-10, gcc-version-8, clang-version-16, clang-version-15, clang-version-14, - clang-version-13, clang-version-12, clang-version-11, clang-version-10, clang-version-9, clang-version-8, clang-version-7, ubuntu-20.04_all-dependencies, + image: [gcc-version-13, gcc-version-12, gcc-version-11, gcc-version-10, clang-version-16, clang-version-15, clang-version-14, clang-version-13, + clang-version-12, clang-version-11, clang-version-10, clang-version-9, clang-version-8, clang-version-7, ubuntu-20.04_all-dependencies, ubuntu-22.04_all-dependencies, ubuntu-24.04_all-dependencies, ubuntu-24.04_min-dependencies] opts: [.opt, .fast] runs-on: [self-hosted, linux, x64] diff --git a/SConstruct b/SConstruct index abdc6e5111..bfdca815ed 100755 --- a/SConstruct +++ b/SConstruct @@ -631,8 +631,8 @@ for variant_path in variant_paths: "src/SConscript to support that compiler."))) if env['GCC']: - if compareVersions(env['CXXVERSION'], "7") < 0: - error('gcc version 7 or newer required.\n' + if compareVersions(env['CXXVERSION'], "10") < 0: + error('gcc version 10 or newer required.\n' 'Installed version:', env['CXXVERSION']) # Add the appropriate Link-Time Optimization (LTO) flags if @@ -656,17 +656,6 @@ for variant_path in variant_paths: '-fno-builtin-malloc', '-fno-builtin-calloc', '-fno-builtin-realloc', '-fno-builtin-free']) - if compareVersions(env['CXXVERSION'], "9") < 0: - # `libstdc++fs`` must be explicitly linked for `std::filesystem`` - # in GCC version 8. As of GCC version 9, this is not required. - # - # In GCC 7 the `libstdc++fs`` library explicit linkage is also - # required but the `std::filesystem` is under the `experimental` - # namespace(`std::experimental::filesystem`). - # - # Note: gem5 does not support GCC versions < 7. - env.Append(LIBS=['stdc++fs']) - elif env['CLANG']: if compareVersions(env['CXXVERSION'], "6") < 0: error('clang version 6 or newer required.\n' diff --git a/util/dockerfiles/docker-compose.yaml b/util/dockerfiles/docker-compose.yaml index dca22c8e18..f461dbba51 100644 --- a/util/dockerfiles/docker-compose.yaml +++ b/util/dockerfiles/docker-compose.yaml @@ -42,13 +42,6 @@ services: context: ubuntu-24.04_min-dependencies dockerfile: Dockerfile image: ghcr.io/gem5/ubuntu-24.04_min-dependencies:latest - gcc-8: - build: - context: ubuntu-20.04_gcc-version - dockerfile: Dockerfile - args: - - version=8 - image: ghcr.io/gem5/gcc-version-8:latest gcc-10: build: context: ubuntu-20.04_gcc-version diff --git a/util/dockerfiles/sst/Dockerfile b/util/dockerfiles/sst/Dockerfile index 50027fe5b2..bf392bcd49 100644 --- a/util/dockerfiles/sst/Dockerfile +++ b/util/dockerfiles/sst/Dockerfile @@ -36,6 +36,17 @@ RUN apt -y update && apt -y upgrade && \ ENV SST_CORE_HOME="/sst/" +# Use GCC 10 +RUN apt update && apt -y install gcc-10 g++-10 +RUN update-alternatives --install \ + /usr/bin/g++ g++ /usr/bin/g++-10 100 +RUN update-alternatives --install \ + /usr/bin/gcc gcc /usr/bin/gcc-10 100 +RUN update-alternatives --install \ + /usr/bin/c++ c++ /usr/bin/g++-10 100 +RUN update-alternatives --install \ + /usr/bin/cc cc /usr/bin/gcc-10 100 + # SST Stuff RUN mkdir /sst