Re: [gentoo-dev] [arm17] Background to ARM 17.0 profile migration

2018-07-27 Thread M. J. Everitt
On 25/07/18 00:07, James Le Cuirot wrote:

> My initial migration guide was rather scary as changing CHOST is never
> easy and I was concerned that such a guide was never going to be
> sufficiently palatable for a news item. I didn't expect to be able to
> script it up but I gave it a shot and I'm actually quite happy with
> the result. I've run it on the newest (but quite old) glibc stage3, the
> newest musl stage3, and the newest glibc hardened stage3. All went
> well. It aborts on failure but allows you to rerun it if necessary and
> it will skip the time-consuming builds that have already completed.
> Please give it a try if you can and leave some feedback.
Cool - well done, will give it a roll this end...

[1] was the bug where we were tackling migration attempts ..
> Obviously we will need new stage tarballs so that new systems can start
> with the new triplet. The official arm stage tarballs are ancient and I
> have already prepared new stages for armv7a/glibc and armv6j/musl.
> veremitz has been busy building others. The RelEng team has agreed to
> put these up once the profiles go live. Hopefully regular stage
> auto-builds will return in the near future.
>
> I will now follow up this mail with others tagged [arm17] containing:
>
> 1. The news item (including a link to the migration script)
> 2. A toolchain-funcs.eclass patch
> 3. A crossdev patch
>
> Catalyst will need updating too but I will leave it to the RelEng team
> to decide whether they want to update the existing specs or create new
> ones.
>
> Cheers,
The specs 'tree' is a bit of a mess already .. perhaps we can look at
giving it a heavy prune... ??

Updated arm17-stage3's should be building over the weekend all being
well, and no further hardware collapses back at base :/ tfw!

[1] - https://bugs.gentoo.org/602440



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] [arm17] Background to ARM 17.0 profile migration

2018-07-24 Thread James Le Cuirot
Hello all,

For those who aren't already aware, there is a triplet (CHOST) change
planned for the as-yet unreleased 17.0 profiles for ARM, affecting
armv6j and armv7a hardfloat systems. Basically, the triplet will change
from armv7a-hardfloat-linux-gnueabi to armv7a-unknown-linux-gnueabihf
or similar. I won't bore you with the full history behind this but it
is to fall in line with what the rest of the community are now using.
Red Hat is one notable exception but they don't differentiate between
hardfloat and softfp in their triplet at all.

slyfox has rightly asked why we should put users through the trouble of
migrating when GCC doesn't care either way when you build it; you have
to explicitly request hardfloat using --with-float=hard as we do in
toolchain.eclass. The main reason is LLVM. mgorny valiantly tried to fix
LLVM to support our triplets but while upstream were somewhat
supportive of this effort, he ultimately gave up because it proved too
difficult. I have also seen issues arising from our unusual triplets
when cross-compiling. There seems little point in fighting the trend.
Of course, few users cross-compile and few ARM users have LLVM
installed. I myself do not have it on my system.

I therefore suggest a compromise. In the news item announcing this,
rather than stating that users *must* migrate, not that we could force
them to anyway, we will state that users should migrate but they can
choose not to if they don't need LLVM and we will continue to support
this to some extent.

My initial migration guide was rather scary as changing CHOST is never
easy and I was concerned that such a guide was never going to be
sufficiently palatable for a news item. I didn't expect to be able to
script it up but I gave it a shot and I'm actually quite happy with
the result. I've run it on the newest (but quite old) glibc stage3, the
newest musl stage3, and the newest glibc hardened stage3. All went
well. It aborts on failure but allows you to rerun it if necessary and
it will skip the time-consuming builds that have already completed.
Please give it a try if you can and leave some feedback.

Obviously we will need new stage tarballs so that new systems can start
with the new triplet. The official arm stage tarballs are ancient and I
have already prepared new stages for armv7a/glibc and armv6j/musl.
veremitz has been busy building others. The RelEng team has agreed to
put these up once the profiles go live. Hopefully regular stage
auto-builds will return in the near future.

I will now follow up this mail with others tagged [arm17] containing:

1. The news item (including a link to the migration script)
2. A toolchain-funcs.eclass patch
3. A crossdev patch

Catalyst will need updating too but I will leave it to the RelEng team
to decide whether they want to update the existing specs or create new
ones.

Cheers,
-- 
James Le Cuirot (chewi)
Gentoo Linux Developer


pgpuweuydAtyN.pgp
Description: OpenPGP digital signature