Gentoo Archives: gentoo-dev

From: James Le Cuirot <chewi@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Cc: pr@g.o
Subject: [gentoo-dev] [arm17] [News] ARM 17.0 profile migration with CHOST change
Date: Tue, 24 Jul 2018 23:08:36
Message-Id: 20180725000824.37a056b3@symphony.aura-online.co.uk
1 Please read my background [arm17] email before reviewing this. This is
2 my first news item so please be kind! I have deliberately chosen
3 News-Item-Format 1.0 to include older systems and because I do not need
4 any 2.0 features.
5
6
7 Title: ARM 17.0 profile migration with CHOST change
8 Author: James Le Cuirot <chewi@g.o>
9 Content-Type: text/plain
10 Posted: 2018-07-24
11 Revision: 1
12 News-Item-Format: 1.0
13 Display-If-Keyword: arm
14
15 The new 17.0 profiles for ARM are now officially available. This not
16 only features the PIE migration previously announced for other
17 architectures but also a triplet (CHOST) change for hardfloat systems.
18
19 In short, the triplet will change from armv7a-hardfloat-linux-gnueabi
20 to armv7a-unknown-linux-gnueabihf or similar. This is to fall in line
21 with what the rest of the Linux community are now using. If the vendor
22 (2nd) part of your triplet is different or missing then you may keep
23 it as it is. The hf ending is what matters.
24
25 If you are using an unversioned alternative profile such as
26 hardened/linux/arm/armv7a then the default CHOST will have changed for
27 you already. Hopefully, you were shielded from the change by having
28 CHOST explicitly set in your make.conf. In this case, a migration is
29 still required.
30
31 Changing CHOST is never simple and does carry some risk. We encourage
32 users to migrate but if you do not have sys-devel/llvm on your system
33 and you do not cross-compile for ARM then you may choose to keep your
34 existing CHOST. We will continue to support this to some degree
35 although we cannot promise that other packages will not be affected in
36 future.
37
38 If you choose not to migrate or your system is not hardfloat then you
39 must ensure that CHOST is explicitly set in make.conf and then proceed
40 with a regular 17.0 migration to deal with PIE as detailed here:
41
42 https://www.gentoo.org/support/news-items/2017-11-30-new-17-profiles.html
43
44 Otherwise, if you do wish to migrate then we have written a script to
45 do the necessary steps for you:
46
47 https://gist.github.com/chewi/1601684ad8f3cf8de0b786c00fa09b3c
48
49 It takes a minimal backup of the existing toolchain with quickpkg
50 before changing anything but we strongly recommend that you take a
51 full backup first. The script echos each command as it goes along so
52 that you can keep an eye on what it's doing. You are, of course,
53 welcome to tinker with the script or perform the migration manually if
54 you think you know your own system better. It is heavily commented for
55 this reason.
56
57 If the script fails then you can take remedial action before running
58 it again and it should skip any time-consuming builds that it has
59 already done. If the migration doesn't go to plan then please do seek
60 help in #gentoo-arm.
61
62 A migration of this kind can justify rebuilding @world but with ARM
63 typically being very slow, the script does just the minimum
64 necessary. You are free to rebuild @world yourself after running it.
65
66 --
67 James Le Cuirot (chewi)
68 Gentoo Linux Developer

Replies