Andreas K. Huettel posted on Mon, 09 Oct 2017 22:58:22 +0200 as excerpted: > Please consider switching from your current 13.0 profile to the > corresponding 17.0 profile soon after GCC-6.4.0 has been stabilized on > your architecture. The 13.0 profiles will be deprecated and removed in > the near future. > > Switching involves the following steps: > If not already done, > * Use gcc-config to select gcc-6.4.0 or later as system compiler > * Re-source /etc/profile: > . /etc/profile > * Re-emerge libtool Then, > * Select the new profile with eselect > * Re-emerge, in this sequence, gcc, binutils, and glibc > emerge -1 sys-devel/gcc:6.4.0 > emerge -1 sys-devel/binutils > emerge -1 sys-libs/glibc > * Rebuild your entire system > emerge -e world > > If you do not follow these steps you may get spurious build failures > when the linker tries unsuccessfully to combine non-PIE and PIE code.
One thing isn't clear here. Is this sequence necessary due to the profile switch itself, because the /profile/ enables PIE by default, or is it gcc-6.4+ that enables PIE, and the profile simply forces the PIE default by forcing gcc-6.4+? The answer makes a big difference to those already on gcc-6.4+ and who presumably already did an empty-tree rebuild of @world when upgrading to it, but not yet on the new profile. Do they have to do all that again when they switch profiles, or is that a bridge they've already crossed with the gcc upgrade? Either way, making the answer to that explicit should be useful, avoiding either an unnecessary full rebuild, or avoiding the problems because the news item wasn't clear and people already on gcc-6.4+ thought the procedure didn't apply to them. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman