From: | Sergei Trofimovich <slyfox@g.o> |
---|---|
To: | gentoo-dev@l.g.o |
Subject: | [gentoo-dev] gcc-10 is in ~arch |
Date: | Fri, 08 May 2020 20:32:54 |
Message-Id: | 20200508213236.6600101c@sf |
1 | gcc-10 was released yesterday and was pushed to ::gentoo's ~arch as: |
2 | https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32258c6414a31898ff5592893678a3910d2c5c75 |
3 | |
4 | Most of packages should Just Work. But we expect some amount of |
5 | build- and runtime breakage. Non-exhaustive list of things to watch for: |
6 | |
7 | - missing includes in users' code |
8 | Example build failure would be: |
9 | "error: 'size_t' was not declared in this scope; did you mean 'std::size_t'?" |
10 | where missing <stdint.h> for used size_t types. |
11 | |
12 | - extra '-fcommon->-fno-common' linker failures for packages that |
13 | ignore users' CFLAGS and thus missed Toralf's tinderbox runs. |
14 | |
15 | https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common |
16 | |
17 | - "9" -> "10" version change also managed to break many assumptions |
18 | of how gcc versions are parsed by shell scripts and ebuilds. |
19 | |
20 | This causes all sorts of bizarre bugs: |
21 | https://trofi.github.io/posts/213-gcc-10-in-gentoo.html |
22 | |
23 | - overhauled gcc-10 inliner heuristics will cause some amount of |
24 | build/runtime breakage in existing fragile code. |
25 | |
26 | As an extreme example your stack-protected kernel might not boot: |
27 | https://lkml.org/lkml/2020/3/14/186 |
28 | |
29 | Tracker of common breakages: |
30 | https://bugs.gentoo.org/show_bug.cgi?id=gcc-10 |
31 | |
32 | Landing page to steal-fixes-from/add-fixes-to: |
33 | https://wiki.gentoo.org/wiki/Project:Toolchain#gcc-10 |
34 | |
35 | If you can't figure out non-trivial breakage feel free to |
36 | add toolchain@ to the bug and we'll try to sort it out together. |
37 | |
38 | -- |
39 | |
40 | Sergei |