From b5de7f3f25787d4ace1e70fc95c079c257286711 Mon Sep 17 00:00:00 2001 From: "Michael R. Crusoe" Date: Thu, 12 Sep 2024 13:54:22 +0200 Subject: [PATCH] gh-actions: upgrade gcc-qemu to gcc-14 --- .github/workflows/ci.yml | 38 ++++++++++--------- .github/workflows/codeql-analysis.yml | 1 + .../cross-files/aarch64-gcc-14-ccache.cross | 18 +++++++++ docker/cross-files/armel-gcc-14-ccache.cross | 18 +++++++++ docker/cross-files/armv7-gcc-14-ccache.cross | 18 +++++++++ .../armv8-gcc-14-32bit-ccache.cross | 18 +++++++++ .../cross-files/mips64el-gcc-14-ccache.cross | 18 +++++++++ docker/cross-files/power9-gcc-14-ccache.cross | 18 +++++++++ .../riscv64-gcc-14-O3-ccache.cross | 18 +++++++++ .../cross-files/riscv64-gcc-14-ccache.cross | 18 +++++++++ docker/cross-files/s390x-gcc-14-ccache.cross | 18 +++++++++ 11 files changed, 183 insertions(+), 18 deletions(-) create mode 100644 docker/cross-files/aarch64-gcc-14-ccache.cross create mode 100644 docker/cross-files/armel-gcc-14-ccache.cross create mode 100644 docker/cross-files/armv7-gcc-14-ccache.cross create mode 100644 docker/cross-files/armv8-gcc-14-32bit-ccache.cross create mode 100644 docker/cross-files/mips64el-gcc-14-ccache.cross create mode 100644 docker/cross-files/power9-gcc-14-ccache.cross create mode 100644 docker/cross-files/riscv64-gcc-14-O3-ccache.cross create mode 100644 docker/cross-files/riscv64-gcc-14-ccache.cross create mode 100644 docker/cross-files/s390x-gcc-14-ccache.cross diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63568322e..7699779e0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -354,57 +354,57 @@ jobs: arch_gnu: aarch64 arch_deb: arm64 distro: ubuntu-22.04 - - version: 13 + - version: 14 cross: armel arch_gnu_abi: eabi arch_deb: armel arch_gnu: arm distro: ubuntu-24.04 - - version: 13 + - version: 14 cross: armv7 arch_gnu: arm arch_gnu_abi: eabihf arch_deb: armhf distro: ubuntu-24.04 - - version: 13 + - version: 14 cross: aarch64 arch_gnu: aarch64 arch_deb: arm64 distro: ubuntu-24.04 - extra: -32bit - version: 13 + version: 14 cross: armv8 arch_gnu: arm arch_gnu_abi: eabihf arch_deb: armhf distro: ubuntu-24.04 - - version: 13 + - version: 14 cross: riscv64 arch_gnu: riscv64 arch_deb: riscv64 distro: ubuntu-24.04 - extra: -O3 - version: 13 + version: 14 cross: riscv64 arch_gnu: riscv64 arch_deb: riscv64 distro: ubuntu-24.04 - - version: 13 + - version: 14 cross: s390x arch_gnu: s390x arch_deb: s390x distro: ubuntu-24.04 - - version: 13 + - version: 14 cross: power9 arch_gnu: powerpc64le arch_deb: ppc64el distro: ubuntu-24.04 - # - version: 13 - # cross: mips64el - # arch_gnu: mips64el - # arch_gnu_abi: abi64 - # arch_deb: mips64el - # distro: ubuntu-24.04 + - version: 14 + cross: mips64el + arch_gnu: mips64el + arch_gnu_abi: abi64 + arch_deb: mips64el + distro: ubuntu-24.04 runs-on: ${{ matrix.distro }} steps: - uses: actions/checkout@v4 @@ -416,6 +416,7 @@ jobs: - name: Install APT Dependencies run: | sudo apt-get update -y + sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa sudo apt-get -yq install ninja-build parallel \ gcc-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }} \ g++-${{ matrix.version }}-${{ matrix.arch_gnu }}-linux-gnu${{ matrix.arch_gnu_abi }} binfmt-support \ @@ -645,10 +646,10 @@ jobs: distro: ubuntu-22.04 arch_flags: -march=native - version: "12" - distro: ubuntu-20.04 + distro: ubuntu-22.04 arch_flags: -march=native - version: "12" - distro: ubuntu-20.04 + distro: ubuntu-22.04 arch_flags: -ffast-math ccache: 'true' - version: "13" @@ -886,14 +887,15 @@ jobs: linux-gcc-loongarch64: runs-on: ubuntu-24.04 - container: amd64/ubuntu:24.10 steps: - uses: actions/checkout@v4 - name: CPU Information run: cat /proc/cpuinfo - name: Install APT Dependencies run: | - apt-get update && apt-get install -y --no-install-recommends \ + sudo apt-get update && \ + sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa && \ + sudo apt-get install -y --no-install-recommends \ ninja-build ninja-build meson qemu-user-static binfmt-support \ libc6-loong64-cross libstdc++-14-dev-loong64-cross \ gcc-14-loongarch64-linux-gnu g++-14-loongarch64-linux-gnu diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 39fdfb476..c9b58fa4e 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -32,6 +32,7 @@ jobs: uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} + trap-caching: false - run: | sudo add-apt-repository 'ppa:ubuntu-toolchain-r/test' && sudo apt-get update && sudo apt-get install -y ninja-build ninja-build python3-pip python3-setuptools python3-wheel gcc-10 g++-10 diff --git a/docker/cross-files/aarch64-gcc-14-ccache.cross b/docker/cross-files/aarch64-gcc-14-ccache.cross new file mode 100644 index 000000000..3f0110ba9 --- /dev/null +++ b/docker/cross-files/aarch64-gcc-14-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'aarch64-linux-gnu-gcc-14'] +cpp = ['ccache', 'aarch64-linux-gnu-g++-14'] +ar = 'aarch64-linux-gnu-ar' +strip = 'aarch64-linux-gnu-strip' +objcopy = 'aarch64-linux-gnu-objcopy' +ld = 'aarch64-linux-gnu-ld' +exe_wrapper = ['qemu-aarch64-static', '-L', '/usr/aarch64-linux-gnu'] + +[properties] +c_args = ['-march=armv8.2-a+simd+crypto+crc+bf16', '-Wextra', '-Werror'] +cpp_args = ['-march=armv8.2-a+simd+crypto+crc+bf16', '-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'arm64' +endian = 'little' diff --git a/docker/cross-files/armel-gcc-14-ccache.cross b/docker/cross-files/armel-gcc-14-ccache.cross new file mode 100644 index 000000000..09a72845f --- /dev/null +++ b/docker/cross-files/armel-gcc-14-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'arm-linux-gnueabi-gcc-14'] +cpp = ['ccache', 'arm-linux-gnueabi-g++-14'] +ar = 'arm-linux-gnueabi-ar' +strip = 'arm-linux-gnueabi-strip' +objcopy = 'arm-linux-gnueabi-objcopy' +ld = 'arm-linux-gnueabi-ld' +exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabi'] + +[properties] +c_args = ['-Wextra', '-Werror'] +cpp_args = ['-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 'arm' +cpu = 'generic' +endian = 'little' diff --git a/docker/cross-files/armv7-gcc-14-ccache.cross b/docker/cross-files/armv7-gcc-14-ccache.cross new file mode 100644 index 000000000..e1228a984 --- /dev/null +++ b/docker/cross-files/armv7-gcc-14-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'arm-linux-gnueabihf-gcc-14'] +cpp = ['ccache', 'arm-linux-gnueabihf-g++-14'] +ar = 'arm-linux-gnueabihf-ar' +strip = 'arm-linux-gnueabihf-strip' +objcopy = 'arm-linux-gnueabihf-objcopy' +ld = 'arm-linux-gnueabihf-ld' +exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf'] + +[properties] +c_args = ['-march=armv7-a+simd+neon-fp16', '-mfpu=auto', '-Wextra', '-Werror'] +cpp_args = ['-march=armv7-a+simd+neon-fp16', '-mfpu=auto', '-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 'arm' +cpu = 'armv7-a' +endian = 'little' diff --git a/docker/cross-files/armv8-gcc-14-32bit-ccache.cross b/docker/cross-files/armv8-gcc-14-32bit-ccache.cross new file mode 100644 index 000000000..032981ff5 --- /dev/null +++ b/docker/cross-files/armv8-gcc-14-32bit-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'arm-linux-gnueabihf-gcc-14'] +cpp = ['ccache', 'arm-linux-gnueabihf-g++-14'] +ar = 'arm-linux-gnueabihf-ar' +strip = 'arm-linux-gnueabihf-strip' +objcopy = 'arm-linux-gnueabihf-objcopy' +ld = 'arm-linux-gnueabihf-ld' +exe_wrapper = ['qemu-arm-static', '-L', '/usr/arm-linux-gnueabihf'] + +[properties] +c_args = ['-mcpu=cortex-a32', '-mfpu=crypto-neon-fp-armv8', '-Wextra', '-Werror'] +cpp_args = ['-mcpu=cortex-a32', '-mfpu=crypto-neon-fp-armv8', '-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 'arm' +cpu = 'armv8-a' +endian = 'little' diff --git a/docker/cross-files/mips64el-gcc-14-ccache.cross b/docker/cross-files/mips64el-gcc-14-ccache.cross new file mode 100644 index 000000000..dae518442 --- /dev/null +++ b/docker/cross-files/mips64el-gcc-14-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'mips64el-linux-gnuabi64-gcc-14'] +cpp = ['ccache', 'mips64el-linux-gnuabi64-g++-14'] +ar = 'mips64el-linux-gnuabi64-ar' +strip = 'mips64el-linux-gnuabi64-strip' +objcopy = 'mips64el-linux-gnuabi64-objcopy' +ld = 'mips64el-linux-gnuabi64-ld' +exe_wrapper = ['qemu-mips64el-static', '-L', '/usr/mips64el-linux-gnuabi64'] + +[properties] +c_args = ['-mmsa', '-Wextra', '-Werror'] +cpp_args = ['-mmsa', '-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 'mips64el' +cpu = 'mips64el' +endian = 'little' diff --git a/docker/cross-files/power9-gcc-14-ccache.cross b/docker/cross-files/power9-gcc-14-ccache.cross new file mode 100644 index 000000000..7dc901f11 --- /dev/null +++ b/docker/cross-files/power9-gcc-14-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'powerpc64le-linux-gnu-gcc-14'] +cpp = ['ccache', 'powerpc64le-linux-gnu-g++-14'] +ar = 'powerpc64le-linux-gnu-ar' +strip = 'powerpc64le-linux-gnu-strip' +objcopy = 'powerpc64le-linux-gnu-objcopy' +ld = 'powerpc64le-linux-gnu-ld' +exe_wrapper = ['qemu-ppc64le-static', '-cpu', 'power9', '-L', '/usr/powerpc64le-linux-gnu/'] + +[properties] +c_args = ['-mcpu=power9', '-Wextra', '-Werror'] +cpp_args = ['-mcpu=power9', '-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 'ppc64' +cpu = 'ppc64el' +endian = 'little' diff --git a/docker/cross-files/riscv64-gcc-14-O3-ccache.cross b/docker/cross-files/riscv64-gcc-14-O3-ccache.cross new file mode 100644 index 000000000..485ecbab4 --- /dev/null +++ b/docker/cross-files/riscv64-gcc-14-O3-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'riscv64-linux-gnu-gcc-14'] +cpp = ['ccache', 'riscv64-linux-gnu-g++-14'] +ar = 'riscv64-linux-gnu-ar' +strip = 'riscv64-linux-gnu-strip' +objcopy = 'riscv64-linux-gnu-objcopy' +ld = 'riscv64-linux-gnu-ld' +exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/'] + +[properties] +c_args = ['-Wextra', '-Werror', '-O3'] +cpp_args = ['-Wextra', '-Werror', '-O3'] + +[host_machine] +system = 'linux' +cpu_family = 'riscv64' +cpu = 'riscv64' +endian = 'little' diff --git a/docker/cross-files/riscv64-gcc-14-ccache.cross b/docker/cross-files/riscv64-gcc-14-ccache.cross new file mode 100644 index 000000000..c76b403db --- /dev/null +++ b/docker/cross-files/riscv64-gcc-14-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 'riscv64-linux-gnu-gcc-14'] +cpp = ['ccache', 'riscv64-linux-gnu-g++-14'] +ar = 'riscv64-linux-gnu-ar' +strip = 'riscv64-linux-gnu-strip' +objcopy = 'riscv64-linux-gnu-objcopy' +ld = 'riscv64-linux-gnu-ld' +exe_wrapper = ['qemu-riscv64-static', '-L', '/usr/riscv64-linux-gnu/'] + +[properties] +c_args = ['-Wextra', '-Werror'] +cpp_args = ['-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 'riscv64' +cpu = 'riscv64' +endian = 'little' diff --git a/docker/cross-files/s390x-gcc-14-ccache.cross b/docker/cross-files/s390x-gcc-14-ccache.cross new file mode 100644 index 000000000..ca7d1f5b9 --- /dev/null +++ b/docker/cross-files/s390x-gcc-14-ccache.cross @@ -0,0 +1,18 @@ +[binaries] +c = ['ccache', 's390x-linux-gnu-gcc-14'] +cpp = ['ccache', 's390x-linux-gnu-g++-14'] +ar = 's390x-linux-gnu-ar' +strip = 's390x-linux-gnu-strip' +objcopy = 's390x-linux-gnu-objcopy' +ld = 's390x-linux-gnu-ld' +exe_wrapper = ['qemu-s390x-static', '-L', '/usr/s390x-linux-gnu/'] + +[properties] +c_args = ['-march=z13', '-mzvector', '-Wextra', '-Werror'] +cpp_args = ['-march=z13', '-mzvector', '-Wextra', '-Werror'] + +[host_machine] +system = 'linux' +cpu_family = 's390x' +cpu = 's390x' +endian = 'big'