Project:Toolchain/23.0 profile transition

Article description::A project management page for the 23.0 profile transition.

General information

 * The tracker for the 23.0 profiles is
 * Ongoing work can be found on a Github pull request 27903 (please check regularly, commits will be cherry-picked for merging and more will be added)

: Enable GCC's -fstack-clash-protection by default

 * control useflag added to gcc-13
 * useflag forced on hardened and 23.0
 * done
 * may want to port also to a later gcc-12 release?

: adopt SHT_RELR/DT_RELR relative relocation format

 * requires now a control useflag for binutils, "-z pack-relative-relocs"
 * requires on upgrade dependency on glibc-2.36
 * too new?

: remove USE=cli default and inline into ebuilds

 * trivial
 * done

: remove USE=dri default, clean up make.defaults

 * trivial
 * done

: separate openrc and systemd features, not one overriding the other

 * turns out, the systemd feature is so lightweight by now, it makes no sense to change it
 * we can change this at the profile level, but deeper it's not needed
 * this may sound nice, but it's too much waste at profile level. let's not do it after all.

: make merged usr the default configuration

 * the changes in the profiles are trivial (renaming)
 * requires now testing
 * requires on upgrade a migration guide, news item in the works
 * what do we do with openrc profiles?

: enable "-z relro -z now" by default in the linker

 * -z relro is already default since 2017
 * -z now is enabled by the hardened code in gcc and can be moved out into vanilla there
 * control useflag added to gcc-13
 * useflag forced on hardened and 23.0
 * done
 * may want to port also to a later gcc-12 release?

: rename clang to llvm in profile names

 * implementation trivial

: add systemd/hardened profiles, make systemd/selinux inherit them

 * fairly easy

: Update MIPS profiles to use ABI-specific CHOST

 * MIPS-specific
 * In default/linux/23.0/mips..., set the correct CHOST. That's all.
 * requires now testing
 * requires consensus in the mips team on what to do
 * requires on upgrade the usual CHOST-changing acrobatics

: transition ppc64le 23.0 profiles to 128-bit IEEE long double ABI

 * arch-specific
 * Fedora finally switched recently
 * GH pull request for gcc plumbing
 * migration procedure?

: align to 32-bit rather than 16-bit on m68k with -malign-int

 * arch-specific
 * this breaks about just everything and thus makes a complex migration necessary
 * adjustments to glibc will be required (?)