This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RISC-V glibc port, v5


On Thu, 25 Jan 2018, Palmer Dabbelt wrote:

> > I don't approve of the patch series having an inconsistent message about
> > the status of RV32 support.  Either RV32 is supported by the glibc port,
> > possibly with a caveat in README like those for i[4567]86-*-gnu and
> > hppa-*-linux-gnu (the latter of which caveats should be removed...),
> > referring to kernel issues, and is built by build-many-glibcs.py, etc., or
> > it's not, in which case you should submit a cleanly RV64-only port, no
> > RV32 sysdeps directories or conditionals, with a view to possibly adding
> > RV32 later (with a GLIBC_2.28 or later minimum symbol version for RV32 in
> > that case).
> 
> I think the best thing to do here would be to remove the RV32 ABI lists and
> target it for 2.28.  I don't mind removing the rv32 code as well, I don't
> think it's that tightly coupled to the rv64 code.

If you want to remove RV32, go ahead with that (including removing rv32 
sysdeps directories, including removing anything in other files in the 
port that only gets built for rv32 such as the dynamic linker names, ABI 
handling in Makefile etc.).  *All* ABI lists would then go in the rv64 
directory (in that it would no longer be possible to share any ABI 
baselines with rv32, if rv32 uses GLIBC_2.28 or later minimum symbol 
version but rv64 uses GLIBC_2.27).  And send a port version 6 as soon as 
possible (e.g. tomorrow).

Likewise, if you decide not to support soft-float (though I really 
wouldn't expect soft-float to have the testing time problem you describe, 
and I think there are only a few bits of code that are actually 
conditional on soft-float rather than soft-float-ABI).

Make sure your build-many-glibcs.py configuration builds the actually 
supported configurations - and that building those configurations with 
build-many-glibcs.py does actually work.  Given that GCC expects to build 
both RV32 and RV64 multilibs, it's possible you'll need two separate GCC 
builds (one for each ABI), using --disable-multilib, and will only be able 
to reduce to a single GCC build once you support RV32 in glibc.

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]