Re: [gentoo-dev] How to structure our RISC-V support

2021-05-07 Thread Andreas K. Huettel
Am Donnerstag, 6. Mai 2021, 22:34:52 CEST schrieb Palmer Dabbelt:
>
> TBH: I'm not really going to come up with something better beacuse I
> came up with the current (and likely broken) scheme and I still
> don't fully understand why.  So if you have suggestions as to
> something that would actually work that would be great, as
> otherwise I'm just going to come up with something broken again ;)
> 

Heh. No worries. I actually liked the idea, just until the moment when 
I remembered that we had been campaigning for months to replace all 
absolute symlinks in Gentoo with relative ones. And suddenly there is 
only on riscv not enough "../"  in the link.

> Is the constraint just "no sub-directories for libraries"?  IIRC we
> did that because someone else was already doing it and it seems to
> be less of a FHS break that adding a bunch of first-level
> directories.  

I need to read up on FHS. Time...


-- 
Andreas K. Hüttel
dilfri...@gentoo.org
Gentoo Linux developer
(council, toolchain, base-system, perl, libreoffice)

signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] How to structure our RISC-V support

2021-05-07 Thread Andreas K. Huettel
> I'm fine with rust masked in lp64/other profile..
> but in my opinion: it's really up to upstream should fix/support it
> 
> > (Unless Palmer et al come up with a fix for the libdirs on the
> > upstream side of things. Already e.g. libdir=lib64-lp64d would be
> > much easier to handle I suspect.)
> 
> using one level path (eg. lib64-lp64d) won't fix the problem,
> the root cause is that we use a 'non-standard' lib path (QT5, Cmake
> issue), not matter it's one level or two level path, see bug here

I suspect this may need some more analysis.

But, if we transition in non-multilib cases to normal lib64, then we 
have all the time in the world to figure it out.

-- 
Andreas K. Hüttel
dilfri...@gentoo.org
Gentoo Linux developer
(council, toolchain, base-system, perl, libreoffice)

signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] How to structure our RISC-V support

2021-05-07 Thread Andreas K. Huettel
> > 1) We stop caring about anything except rv64gc/lp64d.
> > People can still bootstrap other stuff with crossdev etc, but the
> > Gentoo tree and the riscv keyword reflect that things work with
> > above -mabi and -march settings.
> 
> fine by me, for current software/upstream state, it's probably the
> most practical way to only support lp64d, this will significantly
> ease our life .. besides, it's relatively easy if people want to
> support more (lp64/lp32..) later
>

++

> > 2) We drop the multilib paths and use "normal" lib64, with
> > additional "safety symlinks" (/usr)/lib64/lp64d -> .
> > This is what SuSE and (I think) Fedora already does. The symlink
> > should be there since "lib64" is NOT an official fallback coded
> > into gcc/glibc/binutils; the only fallback present is "lib" ...
> can we use different scheme for non-multilib vs multilib?
> 1) non-multilibe: just use "normal" lib64, keep align with other
> ARCHs (amd64)? 

++

> 2) multilib: just stick to current two level lib path

We can try that but it doesn't solve any of our problems (and we'd 
have to keep carrying the two-level dir patches).

(I've already decided some time ago that supporting real multilib 
stages is too much effort for insufficient gain and stopped publishing 
them. Until recently I still built them; since glibc-2.33 they broke 
and while I know how to fix things I haven't had time to do it yet.)

So if we keep the multilib scheme around, then IMHO only as internal 
workaround until we/upstream/... have figured out a better directory 
scheme.



-- 
Andreas K. Hüttel
dilfri...@gentoo.org
Gentoo Linux developer
(council, toolchain, base-system, perl, libreoffice)

signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] How to structure our RISC-V support

2021-05-07 Thread Michał Górny
On Fri, 2021-05-07 at 14:15 +0800, Yixun Lan wrote:
> On 22:30 Thu 06 May , Andreas K. Huettel wrote:
> > > 
> > > Haven't I told you using two-level libdirs is stupid?  So yes,
> > > please do that and let us be happy once again.
> > > 
> > > That said, where does lp64gc land?  Or isnon-multilib
> > > one-or-the-other the goal?
> > 
> > It would be non-multilib one-or-the-other then for us.
> > The main relevant combination is rv64gc/lp64d, which is arguably what 
> > a linux machine "should have".
> > 
> > (I could also imagine to keep rv64imac/lp64 profile and stages (also 
> > using lib64), these would have to mask stuff like rust then though.)
> > 
> I'm fine with rust masked in lp64/other profile..
> but in my opinion: it's really up to upstream should fix/support it
> 
> > (Unless Palmer et al come up with a fix for the libdirs on the 
> > upstream side of things. Already e.g. libdir=lib64-lp64d would be much 
> > easier to handle I suspect.)
> 
> using one level path (eg. lib64-lp64d) won't fix the problem,
> the root cause is that we use a 'non-standard' lib path (QT5, Cmake issue),
> not matter it's one level or two level path, see bug here [1]
> 
> [1] https://bugs.gentoo.org/781134
> https://gitlab.kitware.com/cmake/cmake/-/issues/22138
> 

Maybe it doesn't matter for CMake but it does matter for us simpletons
who want '../' to work as its supposed to.

-- 
Best regards,
Michał Górny