[PATCH v5 00/17] glibc port for 32-bit RISC-V (RV32)
Maciej W. Rozycki
macro@wdc.com
Mon Aug 24 18:17:19 GMT 2020
On Mon, 24 Aug 2020, Alistair Francis wrote:
> > Would you be able to see if there is any interesting information in the
> > respective .out files and/or the overall test log?
>
> Yep, see below for the RV32 failure logs:
>
> elf/tst-libc_dlvsym.out
> error: tst-libc_dlvsym.h:103: symbol _sys_errlist not found at any version
> error: 1 test failures
>
> elf/tst-libc_dlvsym-static.out
> error: tst-libc_dlvsym.h:103: symbol _sys_errlist not found at any version
Well, we have this in NEWS:
* The deprecated symbols sys_errlist, _sys_errlist, sys_nerr, and _sys_nerr
are no longer available to newly linked binaries, and their declarations
have been removed from from <stdio.h>. They are exported solely as
compatibility symbols to support old binaries. All programs should use
strerror or strerror_r instead.
so it looks like a test case bug to me; the symbol is expected not to be
there given that we have no compatibility with previous library versions
to take care of. Not a showstopper for RV32 inclusion IMO.
> io/tst-lockf.out
> error: subprocess failed: lockf
> error: unexpected output from subprocess
> tst-lockf.c:49: numeric comparison failure
> left: 0 (0x0); from: lockf (temp_fd, F_TEST, 1024)
> right: -1 (0xffffffff); from: -1
> error: 2 test failures
This might be more interesting to look into further; as `len' is of the
`off_t' type it would be good to double-check it is correctly handled.
> stdlib/tst-strfrom.out
> Testing in locale: C
> strfromf: got NAN (3), expected -NAN (4)
> strfromf32: got NAN (3), expected -NAN (4)
> Testing in locale: en_US.ISO-8859-1
> strfromf: got NAN (3), expected -NAN (4)
> strfromf32: got NAN (3), expected -NAN (4)
> Testing in locale: en_US.UTF-8
> strfromf: got NAN (3), expected -NAN (4)
> strfromf32: got NAN (3), expected -NAN (4)
>
> stdlib/tst-strfrom-locale.out
> Testing in locale: de_DE.UTF-8
> strfromf: got NAN (3), expected -NAN (4)
> strfromf32: got NAN (3), expected -NAN (4)
> Testing in locale: tr_TR.ISO-8859-9
> strfromf: got NAN (3), expected -NAN (4)
> strfromf32: got NAN (3), expected -NAN (4)
> Testing in locale: tr_TR.UTF-8
> strfromf: got NAN (3), expected -NAN (4)
> strfromf32: got NAN (3), expected -NAN (4)
>
> I'm assuming that stdlib/tst-strfrom and stdlib/tst-strfrom-locale are
> just related to QEMU FP bugs, as they fail for both RV32 and RV64.
Agreed, and in any case RV32 does not perform any worse than RV64. Of
course it would be good to look into it anyway, but it shouldn't be a
showstopper for RV32 inclusion IMO.
> > > NOTE: This doesn't include the failing maths tests (that is an issue
> > > only when running on QEMU) or the PLT issue for RISC-V 32-bit.
> >
> > Ack. Can you check if the PLT issue has been fixed with
> > <https://sourceware.org/pipermail/binutils/2020-August/112750.html>?
>
> Yes, using the latest binutils with those patches applied seems to fix
> the PLT failures.
Good to know, thanks for confirming. So I guess we can ignore the PLT
check failure and expect anyone caring about clean results to use most up
to date binutils once the fix has been included (and until then use the
patch applied locally).
I've cc-ed Nelson to give him some incentive to upstream his fix quickly.
Maciej
More information about the Libc-alpha
mailing list