Hi Ignacy, Ignacy Gawędzki wrote,
On Thu, Oct 13, 2016 at 06:10:15PM +0200, thus spake Ignacy Gawedzki:
On Thu, Oct 13, 2016 at 05:32:35PM +0200, thus spake Ignacy Gawedzki:
On Thu, Oct 13, 2016 at 05:17:32PM +0200, thus spake Ignacy Gawedzki:
On Thu, Oct 13, 2016 at 12:44:38PM +0200, thus spake Waldemar Brodkorb:
Hi Ignacy,
I tried v4, but it adds regressions for other architectures. For example MIPS Little endian running uClibc-ng testsuite.
Any idea? Can you try to reproduce the regressions on your side?
I just tried by building a buildroot toolchain for mipsel. So far make check fails even without my patch telling me that it doesn't know how to make target test/Makefile, needed by termios.
It looks just like make check doesn't work with a separate build directory (make O=/path/to/somewhere/else check). Do you confirm?
I fixed a few things in test/Makefile and test/Rules.mak (patch coming soon) and it looks like make check now works with a separate build directory. But still, I'm getting errors in test/math regarding __builtin_isfinite and the like not getting floating-point arguments. To me it looks like the test code is wrong, but I may be wrong myself.
Any idea how to fix that?
Okay, apart from the fact that you're not supposed to call isfinite nor isnormal with anything except floating point arguments (tests in glibc do this by using intermediate variables initialized with the integer literals), and should cast those literals explicitly to FLOAT, I discovered that I can disable glibc tests by passing UCLIBC_ONLY=1 (these errors were triggered by my local native glibc). :/
But still, some tests that run a mipsel binary using qemu-mipsel fail miserably. Some because they just assume the binary is run natively (as test/crypt which defines a WRAPPER variable to run the binary using env), which is simply not working when SIMULATOR_uclibc equals some qemu binary. Some other because of reasons unknown to me at this time: test/unistd/clone (somehow the child processes seem to be un-wait4-able with qemu).
I'd *really* like to reproduce the failed tests because of my patch, but without any more information (actual uclibc-ng's .config, buildroot's .config, exact way to run the testsuite for mipsel on an amd64 machine), I'm fighting with unrelated problems so far.
Sorry I visited ELCE 2016 in Berlin, so I had no time to give you the required information. I will sent you buildroot instructions later.
If you want you can try it with my embedded-test script (you need mksh and qemu installed): git clone git://git.embedded-test.org/git/embedded-test cd embedded-test git clone git://git.uclibc-ng.org/git/uclibc-ng mksh embedded-test.sh --arch=mipsel --libc=uclibc-ng \ --libc-source=uclibc-ng --test=libc
Only 3 tests should fail. Then apply your patch and run it again, it will automatically do a complete clean build.
best regards Waldemar