On 22:01 Thu 06 May , Andreas K. Huettel wrote: > Howdy. > > I'm sending this not only to the team members on the alias, but also > to the whole dev list for discussion. > > So far I've been trying to support in Gentoo the full risc-v multilib > directory structure and the ABI sets supported by glibc. According to > specs this means for riscv64 > > -mabi=rv64gc -march=lp64d > libdir = lib64/lp64d > ("hardfloat") > > -mabi=rv64imac -march=lp64 > libdir = lib64/lp64 > ("softfloat") > > and theoretically similar for riscv32 (which just landed in glibc and > is still broken in qemu-user). > > However, this leads to several levels of pain (and I definitely dont > have time to deal with it myself): > > a) In many places the two-level libdir (e.g., /usr/lib64/lp64d) leads > to difficulties in build systems. Right now Qt5 and CMake are still > somewhat broken (in *Gentoo*). > > b) Rust only supports rv64gc/lp64d. (Which is arguably what you should > have for decent Linux support.) > > I'm pretty sure these are not the only things, but they are somewhat > symptomatic. > > So, I would like to bring two proposals up for discussion. > > 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 > -- > Andreas K. Hüttel > dilfri...@gentoo.org > Gentoo Linux developer > (council, toolchain, base-system, perl, libreoffice) -- Yixun Lan (dlan) Gentoo Linux Developer GPG Key ID AABEFD55