Project:Toolchain

The toolchain project manages gcc, binutils, glibc, and other toolchain-related packages.

Team meetings

 * The next team meeting is (to be decided).
 * Agenda: (to be written)
 * Agenda topic collection page: /To be discussed

sys-libs/glibc

 * packaging sys-libs/glibc

sys-kernel/linux-headers

 * packaging sys-kernel/linux-headers

Managing patches

 * Managing toolchain patchsets with git

Version support policy

 * Policies for support of old versions

USE=native-symlinks flags

 * Hints on USE=native-symlinks

User guides for toolchain packages
This section covers various package Toolchain project maintains.

dev-util/ccache

 * Tips and tricks using dev-util/ccache

Porting notes
This section describes common build breakages, example fixes and a bit of explanation. Useful to craft the patch and explain upstream why change is needed.

binutils-2.31.1

 * Test failures

binutils-2.32

 * /Binutils_2.32_upgrade_notes/elfutils_0.175: unable to initialize decompress status for section .debug_info

binutils-2.34
Tracker


 * /Binutils_2.34_porting_notes/undefined reference to bfd_get_section_*, example

gcc-8

 * Bug tracker gcc-8 porting
 * error: -Wabi won't warn about anything [-Werror=abi], example

gcc-9

 * Bug tracker for gcc-9 porting
 * error: expected '(' before 'volatile', example

gcc-10

 * Bug tracker for gcc-10 porting
 * -fno-common, multiple definition of 'foo': first defined here, example

gcc-11

 * Bug tracker for gcc-11 porting

gcc-12

 * Bug tracker for gcc-12 porting

gcc-13

 * Bug tracker for gcc-13 porting
 * error: ‘uint64_t’ does not name a type, example

glibc-2.26

 * sysmacros.h: missing major, minor macros
 * xlocale.h not found
 * glibc-2.26+ /etc/nsswitch.conf changes
 * Migrating from SunRPC to libtirpc

glibc-2.27

 * pow10, pow10f and pow10l removed
 * ld: cannot find -lieee

glibc-2.28
Tracker:


 * fseeko, fflush are broken for bundled gnulib, example
 * linknamespace tests (>400) fail when upgrading from 2.27, example
 * error: FILE {aka struct _IO_FILE } has no member named ..., example
 * Test failures

glibc-2.30
Tracker:


 * fatal error: sys/stropts.h: No such file or directory, example
 * gettid related issues, glibc 2.30 declares its own gettid, examples
 * error: RES_USE_INET6 undeclared (first use in this function), example
 * Test failures

glibc-2.31
Tracker:


 * stime symbol removal: a.c:.text.startup+ : undefined reference to stime, example
 * Test failures

glibc-2.32
Tracker:


 * fatal error: sys/sysctl.h: No such file or directory, example
 * Test failures

glibc-2.33
Tracker:



glibc-2.34
Tracker:


 * error: expected declaration specifiers or "..." before "(" token,, conflicting macros in outdated gnulib
 * error: missing binary operator before token "(", SIGSTKSZ,, change of SIGSTKSZ definition, outdated gnulib
 * error: variably modified ‘sigsegv_stack’ at file scope, SIGSTKSZ,, change of SIGSTKSZ definition
 * error: void value not ignored as it ought to be, closefrom,, introduction of void closefrom
 * error: too few arguments to function ‘close_range’,, introduction of close_range with 3 params
 * Test failures

glibc-2.35
Tracker:


 * Test failures

glibc-2.36
Tracker:


 * Test failures

libffi-3.3
Tracker:


 * FFI_SYSV was not declared in this scope, example

libffi-3.4
Tracker:


 * USE=exec-static-trampoline exposes a latent bug in
 * ghc (bug only)
 * gobject-introspection (example fix)

linux-headers-5.2
Tracker:


 * SIOCGSTAMP was not declared in this scope, example

Update guides

 * mpfr-4 update guide

Reporting bugs

 * GCC "internal compiler error" bug reporting guide
 * "stack smashing detected" debugging guide

Ongoing work / investigations

 * gcc-10 and znver1 stack smash,
 * libxcrypt migration (nearly complete)
 * TODO: musl
 * 64-bit time_t for 32-bit arches (early stages)
 * LTO