Gentoo Archives: gentoo-dev

From: Alec Warner <antarus@g.o>
To: Gentoo Dev <gentoo-dev@l.g.o>
Cc: PR Gentoo <pr@g.o>
Subject: Re: [gentoo-dev] RFC v2: news item for the 17.0 profiles
Date: Tue, 10 Oct 2017 19:28:48
Message-Id: CAAr7Pr8RS3WoFzYW1ZH8hZe9eaHcDdVaP4zhq-255yjHMXFJCg@mail.gmail.com
In Reply to: [gentoo-dev] RFC v2: news item for the 17.0 profiles by "Andreas K. Huettel"
1 On Tue, Oct 10, 2017 at 3:16 PM, Andreas K. Huettel <dilfridge@g.o>
2 wrote:
3
4 > =====================================
5 > Title: New 17.0 profiles in the Gentoo repository
6 > Author: Andreas K. Hüttel <dilfridge@g.o>
7 > Posted: xxxxxxx
8 > Revision: 1
9 > News-Item-Format: 2.0
10 > Display-If-Installed: >=sys-devel/gcc-6.4.0
11 >
12 > We have just added a new set of profiles with release version 17.0
13 > to the Gentoo repository. These bring three changes:
14 > 1) The default C++ language version for applications is now C++14.
15 > This change is mostly relevant to Gentoo developers. It also
16 > means, however, that compilers earlier than GCC 6 are masked
17 > and not supported for use as a system compiler anymore. Feel
18 > free to unmask them if you need them for specific applications.
19 > 2) Where supported, GCC will now build position-independent
20 > executables (PIE) by default. This improves the overall
21 > security fingerprint. The switch from non-PIE to PIE binaries,
22 > however, requires some steps by users, as detailed below.
23 > 3) Up to now, hardened profiles were separate from the default
24 > profile tree. Now they are moving into the 17.0 profile
25 > as a feature there, similar to "no-multilib" and "systemd".
26 >
27 > Please consider switching from your current 13.0 profile to the
28 > corresponding 17.0 profile soon after GCC 6.4.0 has been
29 > stabilized on your architecture. The 13.0 profiles will be deprecated
30 > and removed in the near future.
31 >
32
33 Can you commit to a deadline on this?
34
35 Its OK to be wrong (e.g. say 1 month but remove in 3); but "near future" is
36 not actionable by readers.
37
38
39 >
40 > Switching involves the following steps:
41 > If not already done,
42 > * Use gcc-config to select gcc-6.4.0 (or later) as system compiler
43 > * Re-source /etc/profile:
44 > . /etc/profile
45 > * Re-emerge libtool
46 > Then,
47 > * Select the new profile with eselect
48 > * Re-emerge, in this sequence, the selected gcc, binutils, and glibc
49 > emerge -1 sys-devel/gcc:6.4.0
50 > emerge -1 sys-devel/binutils
51 > emerge -1 sys-libs/glibc
52 > * Rebuild your entire system
53 > emerge -e world
54 >
55 > Switching the profile modifies the use-flags of GCC 6 to generate
56 > PIE executables by default; thus, you need to do the rebuilds
57 > even if you already used GCC 6 beforehand.
58 >
59 > If you do not follow these steps you may get spurious build
60 > failures when the linker tries unsuccessfully to combine non-PIE
61 > and PIE code.
62 > =====================================
63 >
64 >
65 >
66 > --
67 > Andreas K. Hüttel
68 > dilfridge@g.o
69 > Gentoo Linux developer (council, perl, libreoffice)

Replies

Subject Author
[gentoo-dev] Re: RFC v2: news item for the 17.0 profiles Duncan <1i5t5.duncan@×××.net>