Making newlib tests work again

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Making newlib tests work again

Keith Packard

I spent a bunch of time over the last couple of weeks getting the newlib
tests running again in my 'picolibc' fork. In the process, I found a few
bugs in the library which I've got patches for, but I'm wondering if
anyone here has any interest in having the test fixes merged in. I'm not
sure how useful they would be in the newlib tree as I'm not sure how to
run them here.

The 'big' change was to re-generate all of the math test cases using
glibc on x86-64. There's code in the libm tests to re-emit the C code
which I used for that. For the string conversion tests, I cobbled some
hacks together.

The newlib code I'm using now passes all of the tests on
x86-64-linux-gnu, i686-linux-gnu, arm-none-eabi and
riscv64-unknown-elf. For riscv64-unknown-elf, qemu is able to emulate
all possible processor configurations and I'm testing them all (30
different newlib builds). For arm-none-eabi, I'm only testing cortex-m3
for now (qemu-system-arm is not as flexible as qemu-system-riscv32/
qemu-system-riscv64).

I don't want to spam the list with a large set of huge patches unless
there's some interest in them; for now, I've got them sitting on github:

        https://github.com/keith-packard/picolibc/tree/fixes-newlib

--
-keith

signature.asc (847 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Making newlib tests work again

Joel Sherrill
Personally, I'd like to see the tests working. I would like to see them
running on RTEMS.

--joel

On Mon, Dec 16, 2019 at 3:52 PM Keith Packard <[hidden email]> wrote:

>
> I spent a bunch of time over the last couple of weeks getting the newlib
> tests running again in my 'picolibc' fork. In the process, I found a few
> bugs in the library which I've got patches for, but I'm wondering if
> anyone here has any interest in having the test fixes merged in. I'm not
> sure how useful they would be in the newlib tree as I'm not sure how to
> run them here.
>
> The 'big' change was to re-generate all of the math test cases using
> glibc on x86-64. There's code in the libm tests to re-emit the C code
> which I used for that. For the string conversion tests, I cobbled some
> hacks together.
>
> The newlib code I'm using now passes all of the tests on
> x86-64-linux-gnu, i686-linux-gnu, arm-none-eabi and
> riscv64-unknown-elf. For riscv64-unknown-elf, qemu is able to emulate
> all possible processor configurations and I'm testing them all (30
> different newlib builds). For arm-none-eabi, I'm only testing cortex-m3
> for now (qemu-system-arm is not as flexible as qemu-system-riscv32/
> qemu-system-riscv64).
>
> I don't want to spam the list with a large set of huge patches unless
> there's some interest in them; for now, I've got them sitting on github:
>
>         https://github.com/keith-packard/picolibc/tree/fixes-newlib
>
> --
> -keith
>
Reply | Threaded
Open this post in threaded view
|

Re: Making newlib tests work again

Keith Packard
Joel Sherrill <[hidden email]> writes:

> Personally, I'd like to see the tests working. I would like to see them
> running on RTEMS.

I think we should probably verify that things actually work before
merging upstream. Right now, I'm testing them in picolibc which has
enough support for building on RISC-V and ARM that it can generate
stand-alone executables to run under qemu, using semihosting for
I/O and exit status.

If you've got a complete toolchain for RTEMS that allows the creation of
stand-alone executables, then perhaps that would be a reasonable way to
verify that the changes build and work in newlib.

--
-keith

signature.asc (847 bytes) Download Attachment