On Tue, Oct 10, 2017 at 3:16 PM, Andreas K. Huettel <dilfri...@gentoo.org>
wrote:

> =====================================
> Title: New 17.0 profiles in the Gentoo repository
> Author: Andreas K. Hüttel <dilfri...@gentoo.org>
> Posted: xxxxxxx
> Revision: 1
> News-Item-Format: 2.0
> Display-If-Installed: >=sys-devel/gcc-6.4.0
>
> We have just added a new set of profiles with release version 17.0
> to the Gentoo repository. These bring three changes:
> 1) The default C++ language version for applications is now C++14.
>    This change is mostly relevant to Gentoo developers. It also
>    means, however, that compilers earlier than GCC 6 are masked
>    and not supported for use as a system compiler anymore. Feel
>    free to unmask them if you need them for specific applications.
> 2) Where supported, GCC will now build position-independent
>    executables (PIE) by default. This improves the overall
>    security fingerprint. The switch from non-PIE to PIE binaries,
>    however, requires some steps by users, as detailed below.
> 3) Up to now, hardened profiles were separate from the default
>    profile tree. Now they are moving into the 17.0 profile
>    as a feature there, similar to "no-multilib" and "systemd".
>
> 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.
>

Can you commit to a deadline on this?

Its OK to be wrong (e.g. say 1 month but remove in 3); but "near future" is
not actionable by readers.


>
> 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, the selected 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
>
> Switching the profile modifies the use-flags of GCC 6 to generate
> PIE executables by default; thus, you need to do the rebuilds
> even if you already used GCC 6 beforehand.
>
> 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.
> =====================================
>
>
>
> --
> Andreas K. Hüttel
> dilfri...@gentoo.org
> Gentoo Linux developer (council, perl, libreoffice)

Reply via email to