From 321c34d0bd4694a2671041a24e17ed0b7fd22963 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 20 May 2024 06:23:28 -0700 Subject: [PATCH 1/4] util-docker: Remove GCC-8 from docker-compose.yaml Change-Id: Ia1aba03412b138b05b569b08a146a2123f7142e4 --- util/dockerfiles/docker-compose.yaml | 7 ------- 1 file changed, 7 deletions(-) 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 From d011fe47a9de00f63c5216298b99b545fde4a8d8 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 20 May 2024 06:24:14 -0700 Subject: [PATCH 2/4] util-docker: Upgrade sst-env docker image to use GCC 10 Previously was GCC 9 which is no longer supported by gem5. Change-Id: Ife715446e3f1179d19db544953fbd6ded25f5b4d --- util/dockerfiles/sst/Dockerfile | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 From ba1c22f143a87d06b655f155bf957e2501eafbd5 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 20 May 2024 06:27:45 -0700 Subject: [PATCH 3/4] misc,tests: Remove gcc-8 from compiler tests GCC Version 10 is no longer supported by the gem5 project. Change-Id: If657654299c1a018764d5f92e814ed5cd18c50f0 --- .github/workflows/compiler-tests.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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] From 8b30d848e946fcdfda7759cb286f9705805a33c3 Mon Sep 17 00:00:00 2001 From: "Bobby R. Bruce" Date: Mon, 20 May 2024 07:05:08 -0700 Subject: [PATCH 4/4] scons: Setup scons for gem5 only supporting gcc >=10 Change-Id: I66f83498a38def3d00d1c9e981aa90706ee20bbb --- SConstruct | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) 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'