Skip to content

feat(26.04): add gcc-14 slices for s390x ppc64le - #1131

Merged
lczyk merged 12 commits into
canonical:ubuntu-26.04from
lczyk:feat/26.04/gcc-14
Oct 12, 2026
Merged

lczyk merged 12 commits into
canonical:ubuntu-26.04from
lczyk:feat/26.04/gcc-14

Conversation

@lczyk

@lczyk lczyk commented Aug 5, 2026 •

Copy link
Copy Markdown
Collaborator

Proposed changes

just like #1130 but with 13 -> 14. every file the same except for the version bump. check with:

for f in $(git diff --name-only canonical/ubuntu-26.04...lczyk/feat/26.04/gcc-14); do
    diff <(git show "lczyk/feat/26.04/gcc-13:${f//14/13}" | sed 's/13/14/g') <(git show "lczyk/feat/26.04/gcc-14:$f") || echo "DIFFERS: $f"
done

(that compares files rather than diffs. the two generations' # NOTE blocks differed upstream, so each branch removes different lines to arrive at the same result -- a diff-level check reports that as noise.)

Related issues/PRs

Forward porting

part of:

Checklist

lczyk added 10 commits August 4, 2026 14:17
Same shape as the cpp-13 slices, one toolchain generation up.

The /usr/share/doc entry of a cpp-14-<triplet> package is a symlink whose
target depends on how that package was built: gcc-14-base for the native
build, gcc-14-<triplet>-base for the cross builds. The copyright slices
are keyed by architecture accordingly, and the four gcc-14-<triplet>-base
packages get copyright slices of their own.
The existing cpp-14 tests also learn about the two new spread runners, on
which they are cross-compilation cases.
Matches the marker the binutils and cpp-15 slices carry, and makes it
clear the entry is not the directory it looks like.
The ld-linux-*.so.* glob matches nothing on ppc64el and s390x, whose
loaders are ld64.so.2 and ld64.so.1. Use the same lookup canonical#1090 gave the
binutils tests, so all four cpp-14 suites agree.

Nothing was failing: the value is only consumed on the native-architecture
path, which never runs on those two runners.
Same bug and same fix as the cpp-14 slices this branch builds on: the
/usr/share/doc entry of a gcc-14-<triplet> package is a symlink to
gcc-14-base for the native build and to gcc-14-<triplet>-base for the
cross builds, so pulling gcc-14-base unconditionally left it dangling
everywhere but on the native architecture.

Depends on the gcc-14-<triplet>-base slices added by the cpp-14 branch.
Both suites bailed out with "Unsupported architecture" there, which fails
outright now that a change to these slices schedules them on all four
runners. The arch lists match what gcc-15 already carries.
The notes pointed at cpp-12-<triplet> for the cc1 compiler, two
generations off. They also carried a TODO saying the architecture-
independent gcc-14 slices do not exist yet, which slices/gcc-14.yaml has
since made untrue.

Replaced with the wording gcc-15 already carries, so the three generations
read the same.
The two new triplet slices follow gcc-15's, including the per-architecture
copyright split the rest of this branch applies to the existing two. Noble
has no gcc-14, so there is nothing to forward port from -- this is canonical#1092
applied to a generation that release never carried.

gcc-14.yaml gains the matching cc1 and gcc-14 entries, so gcc-14_gcc-14 --
the architecture-independent slice that carries /usr/bin/gcc-14 along with
an assembler, a linker and cc1 -- resolves on all four architectures rather
than only amd64 and arm64.
Copies of the gcc-15 suites, which already cover these two runners.
Obsolete since canonical/chisel#256, and its Unsupported architecture
fallback fails outright on the s390x and ppc64le runners -- which a change
to gcc-14.yaml now schedules. Same shape the gcc-15 test already has.
@github-actions

github-actions Bot commented Aug 5, 2026 •

Copy link
Copy Markdown

Test Coverage

Average Total Coverage: 100.00%


Arch: aarch64

Coverage: 100.00%

gcc-14: ☂️ 100.00% (0 missing)
gcc-14-aarch64-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-powerpc64le-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-s390x-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-x86-64-linux-gnu: ☂️ 100.00% (0 missing)

Arch: ppc64le

Coverage: 100.00%

gcc-14: ☂️ 100.00% (0 missing)
gcc-14-aarch64-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-powerpc64le-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-s390x-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-x86-64-linux-gnu: ☂️ 100.00% (0 missing)

Arch: s390x

Coverage: 100.00%

gcc-14: ☂️ 100.00% (0 missing)
gcc-14-aarch64-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-powerpc64le-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-s390x-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-x86-64-linux-gnu: ☂️ 100.00% (0 missing)

Arch: x86_64

Coverage: 100.00%

gcc-14: ☂️ 100.00% (0 missing)
gcc-14-aarch64-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-powerpc64le-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-s390x-linux-gnu: ☂️ 100.00% (0 missing)
gcc-14-x86-64-linux-gnu: ☂️ 100.00% (0 missing)

@github-actions

github-actions Bot commented Aug 5, 2026 •

Copy link
Copy Markdown

Diff of dependencies:

slices/gcc-14-aarch64-linux-gnu.yaml
@@ -1,14 +1,4 @@
-binutils-aarch64-linux-gnu
-cpp-14-aarch64-linux-gnu
 gcc-14-aarch64-linux-gnu-base
+gcc-14-base
 libc6
-libcc1-0
-libgcc-14-dev-arm64-cross
-libgcc-s1
-libgmp10
-libisl23
-libmpc3
-libmpfr6
-libstdc++6
-libzstd1
-zlib1g
+libgcc-14-dev
slices/gcc-14-powerpc64le-linux-gnu.yaml
@@ -1,14 +1,4 @@
-binutils-powerpc64le-linux-gnu
-cpp-14-powerpc64le-linux-gnu
+gcc-14-base
 gcc-14-powerpc64le-linux-gnu-base
 libc6
-libcc1-0
-libgcc-14-dev-ppc64el-cross
-libgcc-s1
-libgmp10
-libisl23
-libmpc3
-libmpfr6
-libstdc++6
-libzstd1
-zlib1g
+libgcc-14-dev
slices/gcc-14-s390x-linux-gnu.yaml
@@ -1,14 +1,4 @@
-binutils-s390x-linux-gnu
-cpp-14-s390x-linux-gnu
+gcc-14-base
 gcc-14-s390x-linux-gnu-base
 libc6
-libcc1-0
-libgcc-14-dev-s390x-cross
-libgcc-s1
-libgmp10
-libisl23
-libmpc3
-libmpfr6
-libstdc++6
-libzstd1
-zlib1g
+libgcc-14-dev
slices/gcc-14-x86-64-linux-gnu.yaml
@@ -1,14 +1,4 @@
-binutils-x86-64-linux-gnu
-cpp-14-x86-64-linux-gnu
 gcc-14-base
+gcc-14-x86-64-linux-gnu-base
 libc6
-libcc1-0
 libgcc-14-dev
-libgcc-s1
-libgmp10
-libisl23
-libmpc3
-libmpfr6
-libstdc++6
-libzstd1
-zlib1g
slices/gcc-14.yaml
@@ -1,4 +1,11 @@
 binutils
-cpp-14
+cpp-14-aarch64-linux-gnu
+cpp-14-powerpc64le-linux-gnu
+cpp-14-s390x-linux-gnu
+cpp-14-x86-64-linux-gnu
+gcc-14-aarch64-linux-gnu
 gcc-14-base
+gcc-14-powerpc64le-linux-gnu
+gcc-14-s390x-linux-gnu
 gcc-14-x86-64-linux-gnu
+libgcc-14-dev

@lczyk lczyk changed the title feat(26.04): add gcc-14 slices for s390x ppc64le feat(26.04): add gcc-14 slices for s390x ppc64le Aug 6, 2026
@ROCKsBot
ROCKsBot requested a review from a team October 1, 2026 01:49
lczyk added a commit to lczyk/chisel-releases that referenced this pull request Oct 8, 2026
rebuild the combined tree on ubuntu-26.04 at 8b54cf3: the base, every
fix PR that is still open at its current head, and this PR's .github
changes. most of the folded PRs have merged since, so their final
versions now come from the base.

refreshed: canonical#1127 95634a7, canonical#1128 cacf45d, canonical#1130 492e380,
canonical#1131 ca51b7d, canonical#1251 42a84e4, canonical#1303 05d0d4b, canonical#1353 7dbe569.
unchanged: canonical#1194, canonical#1264, canonical#1280, canonical#1281, canonical#1282, canonical#1294, canonical#1311, canonical#1323,
canonical#1324, canonical#1354.
@lczyk
lczyk merged commit 1efd4ea into canonical:ubuntu-26.04 Oct 12, 2026
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant