Gentoo Archives: gentoo-dev

From: James Le Cuirot <chewi@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] [arm17] Background to ARM 17.0 profile migration
Date: Tue, 24 Jul 2018 23:07:43
Message-Id: 20180725000716.6a31824e@symphony.aura-online.co.uk
1 Hello all,
2
3 For those who aren't already aware, there is a triplet (CHOST) change
4 planned for the as-yet unreleased 17.0 profiles for ARM, affecting
5 armv6j and armv7a hardfloat systems. Basically, the triplet will change
6 from armv7a-hardfloat-linux-gnueabi to armv7a-unknown-linux-gnueabihf
7 or similar. I won't bore you with the full history behind this but it
8 is to fall in line with what the rest of the community are now using.
9 Red Hat is one notable exception but they don't differentiate between
10 hardfloat and softfp in their triplet at all.
11
12 slyfox has rightly asked why we should put users through the trouble of
13 migrating when GCC doesn't care either way when you build it; you have
14 to explicitly request hardfloat using --with-float=hard as we do in
15 toolchain.eclass. The main reason is LLVM. mgorny valiantly tried to fix
16 LLVM to support our triplets but while upstream were somewhat
17 supportive of this effort, he ultimately gave up because it proved too
18 difficult. I have also seen issues arising from our unusual triplets
19 when cross-compiling. There seems little point in fighting the trend.
20 Of course, few users cross-compile and few ARM users have LLVM
21 installed. I myself do not have it on my system.
22
23 I therefore suggest a compromise. In the news item announcing this,
24 rather than stating that users *must* migrate, not that we could force
25 them to anyway, we will state that users should migrate but they can
26 choose not to if they don't need LLVM and we will continue to support
27 this to some extent.
28
29 My initial migration guide was rather scary as changing CHOST is never
30 easy and I was concerned that such a guide was never going to be
31 sufficiently palatable for a news item. I didn't expect to be able to
32 script it up but I gave it a shot and I'm actually quite happy with
33 the result. I've run it on the newest (but quite old) glibc stage3, the
34 newest musl stage3, and the newest glibc hardened stage3. All went
35 well. It aborts on failure but allows you to rerun it if necessary and
36 it will skip the time-consuming builds that have already completed.
37 Please give it a try if you can and leave some feedback.
38
39 Obviously we will need new stage tarballs so that new systems can start
40 with the new triplet. The official arm stage tarballs are ancient and I
41 have already prepared new stages for armv7a/glibc and armv6j/musl.
42 veremitz has been busy building others. The RelEng team has agreed to
43 put these up once the profiles go live. Hopefully regular stage
44 auto-builds will return in the near future.
45
46 I will now follow up this mail with others tagged [arm17] containing:
47
48 1. The news item (including a link to the migration script)
49 2. A toolchain-funcs.eclass patch
50 3. A crossdev patch
51
52 Catalyst will need updating too but I will leave it to the RelEng team
53 to decide whether they want to update the existing specs or create new
54 ones.
55
56 Cheers,
57 --
58 James Le Cuirot (chewi)
59 Gentoo Linux Developer

Replies

Subject Author
Re: [gentoo-dev] [arm17] Background to ARM 17.0 profile migration "M. J. Everitt" <m.j.everitt@×××.org>