Introduction

  • This page explains how to do cross test the glibc testsuites on a ARM V8 model from a host machine also captures glibc test failures seen on glibc git trunk 16-sep-2013.

Steps

  • Please follow the below steps:

Step 1 : Build glibc and gnu cross tool chain

Step 2 : Set up NFS between host name and the ARM V8 model

  • As sudo user start the foundation model

sudo ./Foundation_v8pkg/Foundation_v8 --image img-foundation.axf --block-device vexpress64-openembedded_lamp-armv8_20130827-444.img --network=bridged

  • Set an ip address for the model via "ifconfig eth0 10.10.10.10"
  • Set an ip address in the host machine using ARM0 interface as "sudo ifconfig ARM0 10.10.10.11"
  • In the host machine export the folder you wish to mount. Add the below line in /etc/exports

foldertomount 10.10.10.10(rw,no_root_squash)

  • Install nfs kernel and make sure it is started "sudo service nfs-kernel-server start"
  • Turn off any firewall in host machine "sudo service ufw stop"

Step 3 : Run testsuite

  • From the glibc build folder invoke make tests usign the command as shown below.

nohup make test-wrapper='/work/sources/eglibc/libc/scripts/cross-test-ssh.sh root@10.10.10.10' -k tests &

  • nohup redirects the make test logs in nohup.out

Step4 : Validate

  • Validating the results is by checking for Errors in .out files generated.

Result Status

  • git revison HASH: b73ed247781d533628b681f57257dc85882645d3

Results for glibc built without profiling

  • Total errors 36
  • General errors -18

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/iconvdata/iconv-test.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/basic-test.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/posix/tst-getaddrinfo4.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/posix/globtest.out] Error 1

test-fpucw-ieee.c: At top level: test-fpucw-ieee.c:24:31: error: ‘_FPU_IEEE’ undeclared here (not in a function)

  • fpu_control_t fpu_control = _FPU_IEEE;

    • ^

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-fpucw-ieee.o] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-fpucw-ieee-static.o] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-float.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-double.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-ldouble.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-ildoubl.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-ifloat.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-idouble.out] Error 1

/work/sources/glibc/rt/../nptl/pthreadP.h:280: undefined reference to `pthread_unwind' collect2: error: ld returned 1 exit status

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/rt/librt.so] Error 1

/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/linkobj/libc.so: file not recognized: File truncated collect2: error: ld returned 1 exit status

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/linkobj/libc.so] Error 1

tst-unique3lib.cc:1:18: fatal error: cstdio: No such file or directory

  • #include <cstdio>

    • ^

compilation terminated.

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-unique3lib.os] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-unique3lib2.os] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-unique3.o] Error

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-unique4.o] Error 1

  • Timeout 13

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/stdlib/tst-strtod-overflow.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/stdlib/tst-strtod-round.out] Error

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/stdio-common/bug22.out] Error

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/libio/tst-memstream2.out] Error

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/libio/tst-wmemstream2.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/string/stratcliff.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/string/test-strcasecmp.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/string/test-strncasecmp.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/wcsmbs/wcsatcliff.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/time/bug-getdate1.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/posix/bug-regex24.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/posix/tst-regex2.out] Error

make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/crypt/sha256c-test.out] Error 1

  • Stack related -5

tst-gettext4: allocatestack.c:478: allocate_stack: Assertion `size != 0' failed. make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/intl/tst-gettext4.out] Error 255

tst-gettext5: allocatestack.c:478: allocate_stack: Assertion `size != 0' failed. make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/intl/tst-gettext5.out] Error 255

tst-gettext6: allocatestack.c:478: allocate_stack: Assertion `size != 0' failed. make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/intl/tst-gettext6.out] Error 1

tst-tls-atexit: allocatestack.c:478: allocate_stack: Assertion `size != 0' failed. make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/stdlib/tst-tls-atexit.out] Error 255

tst-thrlock: allocatestack.c:478: allocate_stack: Assertion `size != 0' failed. Didn't expect signal from child: got `Aborted' make[2]: *** [/work/builds/gcc-fsf-trunk/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-thrlock.out] Error 1

Results for glibc built with profiling

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-fpucw-ieee.o] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/math/test-fpucw-ieee-static.o] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/string/test-strcasecmp.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/string/test-strncasecmp.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/wcsmbs/wcsatcliff.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/time/bug-getdate1.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/posix/tst-chmod.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/posix/bug-regex24.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/posix/tst-regex2.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/posix/tst-getaddrinfo4.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/posix/globtest.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/crypt/sha256c-test.out] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-unique3lib.os] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-unique3lib2.os] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-unique3.o] Error 1

make[2]: *** [/work/builds/gcc-fsf-trunk-patch/obj-aarch64-unknown-linux-gnu/glibc-1/elf/tst-unique4.o] Error 1

WorkingGroups/ToolChain/ReleaseAndInfrastructure/CrossTestGlibcTestSuites (last modified 2013-09-16 08:30:18)