bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: findutils 4.9.0: localeconv test failed on RISCV


From: Collin Funk
Subject: Re: findutils 4.9.0: localeconv test failed on RISCV
Date: Mon, 10 Jun 2024 09:49:35 -0700
User-agent: Gnus/5.13 (Gnus v5.13)

Hi Yuqi,

Yuqi Guo <guoyq@ios.ac.cn> writes:

> Hello friends, do you have any idea about this?

Sorry, I forgot to respond. I'm moving this to bug-gnulib@gnu.org. I
don't know enough about docker but perhaps someone else can help.

The original report [1]:

> File:
>
>    gnulib-tests/test-localeconv.c
>
> Code:
>
> ```
>
> struct lconv *l = localeconv ();
>
> ASSERT (l->frac_digits == CHAR_MAX);
> ASSERT (l->p_cs_precedes == CHAR_MAX);
> ASSERT (l->p_sign_posn == CHAR_MAX);
> ASSERT (l->p_sep_by_space == CHAR_MAX);
> ASSERT (l->n_cs_precedes == CHAR_MAX);
> ASSERT (l->n_sign_posn == CHAR_MAX);
> ASSERT (l->n_sep_by_space == CHAR_MAX);
>
> ```
>
> Problem:
>
> On RISCV, the `char` is unsigned. Thus, the `CHAR_MAX` is 255 instead of
> 127 on x86. However, the localeconv values remain the same on RISCV as
> x86 (the values are 127). This makes the> assertions fail on RISCV.

I asked what system and Yuqi says [2]:

> I use a RISCV QEMU emulator to compile and run the findutils package.
> The emulator was packed and published on Docker Hub by someone several
> months ago. You can get it by `docker pull
> xfan1024/openeuler:23.09-riscv64` and then start a docker container to
> easily use it. Note, you may need to have `qemu-riscv64-static`
> installed on your host system as this emulator is driven by it.
>
> Inside the emulator, I find that:
> (1) The system is openEuler-23.09
>
> (2) The libc is GNU libc (version 2.38), and the compiler is gcc (version 
> 12.3.1)

The correct behavior is these values should be CHAR_MAX as described by
POSIX [3]:

    The members with type char are non-negative numbers, any of which can
    be {CHAR_MAX} to indicate that the value is not available in the
    current locale.

Collin

[1] https://lists.gnu.org/archive/html/bug-findutils/2024-06/msg00036.html
[2] https://lists.gnu.org/archive/html/bug-findutils/2024-06/msg00039.html
[3] https://pubs.opengroup.org/onlinepubs/009695399/functions/localeconv.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]