-
Notifications
You must be signed in to change notification settings - Fork 4
Glibc tests status
With Google DNS (8.8.8.8 in /etc/resolv.conf) I see:
# .../build/posix/bug-ga2
Temporary failure in name resolution
# echo $?
0
With Synopsys DNS (via my laptop 10.42.0.1) test immediately succeeds:
# .../build/posix/bug-ga2
# echo $?
0
Needs 2 Gb of memory for 1 user-space process which we cannot provide on HSDK w/o HIGHMEM/PAE40.
See https://sourceware.org/git/?p=glibc.git;a=blob;f=stdio-common/bug22.c
The last printf after preprocessor looks like that:
fprintf (fp, "%1073741825d %1073741825d", 1, 1);
So we're going to print 2 numbers (that's not really important) of size (INT_MAX / 2) + 2 (=1073741825).
And that's what we get during execution:
mmap2(NULL, 1073750016, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
mmap2(NULL, 1073881088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
Obviosly we cannot allocate even 1Gb buffer if we only have 750Mb free:
# free
total used free shared buffers cached
Mem: 772960 24760 748200 13312 0 13664
-/+ buffers/cache: 11096 761864
Swap: 0 0 0
So to make this test executed normally we need to get more memory with either PAE40 or SWAP but...
- PAE40 will need IOC to be disabled and given we extensively use Networking for glibc I will be surprised if we don't see more weird issues here and there, so probably not the best option.
- SWAP we may try but that will slow-down execution quite a lot and for that test there's a timeout value of 60 seconds, see https://sourceware.org/git/?p=glibc.git;a=blob;f=stdio-common/bug22.c#l54
So I'd suggest to keep stdio-common/bug22 as a known FAIL for our current limited platform.
Failing due to missing implementation of getcontext()/setcontext().
Funny enough in 1 test they check for return value from getcontext() and return FAIL_UNSUPPORTED, see https://sourceware.org/git/?p=glibc.git;a=blob;f=stdlib/tst-makecontext-align.c#l224:
if (getcontext (&ucp) != 0)
FAIL_UNSUPPORTED ("getcontext");
Thus we're seeing:
UNSUPPORTED: stdlib/tst-setcontext3
So we may either implement getcontext()/setcontext() or add a check as in tst-makecontext-align.c.
BTW that's funny why we mention gettext in sysdeps/unix/sysv/linux/arc/libc.abilist:
GLIBC_2.27 getcontext F
BTW this issue is even seen on test linkage on host machine:
arc-linux-gcc tst-xbzero-opt.c
/tmp/ccHlEIEi.o: In function `main':
tst-xbzero-opt.c:(.text+0x58a): warning: getcontext is not implemented and will always fail
tst-xbzero-opt.c:(.text+0x5ec): warning: makecontext is not implemented and will always fail
/tmp/ccHlEIEi.o: In function `setup_no_clear':
tst-xbzero-opt.c:(.text+0x5c): warning: swapcontext is not implemented and will always fail
Expected to fail, because of missing cpp on target:
.../rpcgen -c .../sunrpc/bug20790.x
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#include ".../sunrpc/bug20790.h";
cannot find C preprocessor: cpp
.../sunrpc/rpcgen: C preprocessor failed with exit code 1</pre>
Require Python3 and target GDB with Python interface on target.
That's the full list of failing tests:
nptl/test-condattr-printersnptl/test-cond-printersnptl/test-mutexattr-printersnptl/test-mutex-printersnptl/test-rwlockattr-printersnptl/test-rwlock-printers