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

Update gcc version from 11 to 13 in Linux GHA. #599

Merged
merged 4 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-as-subproject.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ permissions:
contents: read

env:
GCC_VERSION: "11"
GCC_VERSION: "13"
COMMON_CMAKE_FLAGS: >
-DSLEEF_SHOW_CONFIG=ON
-DSLEEF_BUILD_GNUABI_LIBS=ON
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ permissions:
contents: read

env:
GCC_VERSION: "11"
GCC_VERSION: "13"
COMMON_CMAKE_FLAGS: >
-DSLEEF_SHOW_CONFIG=ON
-DSLEEF_BUILD_GNUABI_LIBS=ON
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ permissions:
contents: read

env:
GCC_VERSION: "11"
GCC_VERSION: "13"
LLVM_VERSION: "17"
COMMON_CMAKE_FLAGS: >
-DSLEEF_SHOW_CONFIG=1
Expand Down Expand Up @@ -54,7 +54,10 @@ jobs:
sudo apt-get install -y -qq build-essential cmake curl ninja-build libgmp-dev libmpfr-dev libssl-dev

# Needed for llvm builds as well for target libraries
# Use default gcc version on Arm-hosted runners, ie. gcc 11,
# since versions of 12+ are not recent enough on Ubuntu 22.04.
- name: Install gcc
if: ${{ matrix.os == 'ubuntu-24.04' }}
run: |
sudo apt-get install -y -qq gcc-${GCC_VERSION}

Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ LTO is not tested in CI yet, except on Windows.

### Compiler support

Results are displayed for gcc 11 and llvm 17, the compiler versions used in CI tests with GitHub Actions.
Results are displayed for gcc 13 and llvm 17, the compiler versions used in CI tests with GitHub Actions.

Older versions should be supported too, while newer ones are either not tested or have known issues.

Expand All @@ -122,6 +122,8 @@ Only Linux distributions and macOS are fully tested in CI and thus officially su
Only AArch64 and x86_64 vector extensions are built and tested natively on Linux and macOS.
Other architectures/vector extensions are cross-compiled on Linux.

Native AArch64 tests on Linux are using gcc 11 (default in Ubuntu 22.04), while native x86_64 and cross-compiled tests use gcc 13.

Building SLEEF for Windows on x86 machines was officially supported ( :white_circle: ), as of 3.5.1,
however it is only partially tested due to [known limitations of the test suite with MinGW or MSYS2](https://github.com/shibatch/sleef/issues/544).
As a result tests for Windows on x86 only include DFT for now (other tests are disabled in build system),
Expand Down
12 changes: 11 additions & 1 deletion toolchains/aarch64-gcc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@ SET (CMAKE_SYSTEM_PROCESSOR "aarch64")

SET(CMAKE_FIND_ROOT_PATH /usr/aarch64-linux-gnu /usr/include/aarch64-linux-gnu /usr/lib/aarch64-linux-gnu /lib/aarch64-linux-gnu)

find_program(CMAKE_C_COMPILER NAMES aarch64-linux-gnu-gcc-11 aarch64-linux-gnu-gcc-8 aarch64-linux-gnu-gcc-7 aarch64-linux-gnu-gcc-6 aarch64-linux-gnu-gcc-5 aarch64-linux-gnu-gcc)
find_program(CMAKE_C_COMPILER
NAMES aarch64-linux-gnu-gcc-13
aarch64-linux-gnu-gcc-12
aarch64-linux-gnu-gcc-11
aarch64-linux-gnu-gcc-10
aarch64-linux-gnu-gcc-9
aarch64-linux-gnu-gcc-8
aarch64-linux-gnu-gcc-7
aarch64-linux-gnu-gcc-6
aarch64-linux-gnu-gcc-5
aarch64-linux-gnu-gcc)

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
Expand Down
12 changes: 11 additions & 1 deletion toolchains/armhf-gcc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@ SET (CMAKE_SYSTEM_PROCESSOR "armhf")

SET(CMAKE_FIND_ROOT_PATH /usr/arm-linux-gnueabihf /usr/include/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf)

find_program(CMAKE_C_COMPILER NAMES arm-linux-gnueabihf-gcc-11 arm-linux-gnueabihf-gcc-8 arm-linux-gnueabihf-gcc-7 arm-linux-gnueabihf-gcc-6 arm-linux-gnueabihf-gcc-5 arm-linux-gnueabihf-gcc)
find_program(CMAKE_C_COMPILER
NAMES arm-linux-gnueabihf-gcc-13
arm-linux-gnueabihf-gcc-12
arm-linux-gnueabihf-gcc-11
arm-linux-gnueabihf-gcc-10
arm-linux-gnueabihf-gcc-9
arm-linux-gnueabihf-gcc-8
arm-linux-gnueabihf-gcc-7
arm-linux-gnueabihf-gcc-6
arm-linux-gnueabihf-gcc-5
arm-linux-gnueabihf-gcc)

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
Expand Down
12 changes: 11 additions & 1 deletion toolchains/native-gcc.cmake
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
find_program(CMAKE_C_COMPILER gcc)
find_program(CMAKE_C_COMPILER
NAMES gcc-13
gcc-12
gcc-11
gcc-10
gcc-9
gcc-8
gcc-7
gcc-6
gcc-5
gcc)
12 changes: 11 additions & 1 deletion toolchains/ppc64el-gcc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,17 @@ SET (CMAKE_SYSTEM_PROCESSOR "ppc64")

SET(CMAKE_FIND_ROOT_PATH /usr/powerpc64le-linux-gnu /usr/include/powerpc64le-linux-gnu /usr/lib/powerpc64le-linux-gnu)

find_program(CMAKE_C_COMPILER NAMES powerpc64le-linux-gnu-gcc-11 powerpc64le-linux-gnu-gcc ppc64el-cc)
find_program(CMAKE_C_COMPILER
NAMES powerpc64le-linux-gnu-gcc-13
powerpc64le-linux-gnu-gcc-12
powerpc64le-linux-gnu-gcc-11
powerpc64le-linux-gnu-gcc-10
powerpc64le-linux-gnu-gcc-9
powerpc64le-linux-gnu-gcc-8
powerpc64le-linux-gnu-gcc-7
powerpc64le-linux-gnu-gcc-6
powerpc64le-linux-gnu-gcc-5
ppc64el-cc)

SET(CMAKE_AR /usr/powerpc64le-linux-gnu/bin/ar)

Expand Down
10 changes: 9 additions & 1 deletion toolchains/s390x-gcc.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@ SET (CMAKE_SYSTEM_PROCESSOR "s390x")

SET(CMAKE_FIND_ROOT_PATH /usr/s390x-linux-gnu /usr/include/s390x-linux-gnu /usr/lib/s390x-linux-gnu)

find_program(CMAKE_C_COMPILER NAMES s390x-linux-gnu-gcc-11 s390x-linux-gnu-gcc)
find_program(CMAKE_C_COMPILER
NAMES s390x-linux-gnu-gcc-13
s390x-linux-gnu-gcc-12
s390x-linux-gnu-gcc-11
s390x-linux-gnu-gcc-10
s390x-linux-gnu-gcc-9
s390x-linux-gnu-gcc-8
s390x-linux-gnu-gcc-7
s390x-linux-gnu-gcc)

SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
Expand Down
Loading