Gentoo Archives: gentoo-dev

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
gcc-10 was released yesterday and was pushed to ::gentoo's ~arch as:
    https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32258c6414a31898ff5592893678a3910d2c5c75

Most of packages should Just Work. But we expect some amount of
build- and runtime breakage. Non-exhaustive list of things to watch for:

- missing includes in users' code
  Example build failure would be:
  "error: 'size_t' was not declared in this scope; did you mean 'std::size_t'?"
  where missing <stdint.h> for used size_t types.

- extra '-fcommon->-fno-common' linker failures for packages that
  ignore users' CFLAGS and thus missed Toralf's tinderbox runs.

  https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common

- "9" -> "10" version change also managed to break many assumptions
  of how gcc versions are parsed by shell scripts and ebuilds.

  This causes all sorts of bizarre bugs:
    https://trofi.github.io/posts/213-gcc-10-in-gentoo.html

- overhauled gcc-10 inliner heuristics will cause some amount of
  build/runtime breakage in existing fragile code.

  As an extreme example your stack-protected kernel might not boot:
    https://lkml.org/lkml/2020/3/14/186

Tracker of common breakages:
    https://bugs.gentoo.org/show_bug.cgi?id=gcc-10

Landing page to steal-fixes-from/add-fixes-to:
    https://wiki.gentoo.org/wiki/Project:Toolchain#gcc-10

If you can't figure out non-trivial breakage feel free to
add toolchain@ to the bug and we'll try to sort it out together.

-- 

  Sergei