qemu-devel
[Top][All Lists]
Advanced

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

Re: riscv32 wait() problem, qemu or glibc?


From: Andreas K . Hüttel
Subject: Re: riscv32 wait() problem, qemu or glibc?
Date: Thu, 17 Sep 2020 13:16:30 +0300

Am Donnerstag, 17. September 2020, 00:05:10 EEST schrieb Alistair Francis:
> On Wed, Sep 16, 2020 at 2:09 PM Andreas K. Hüttel <dilfridge@gentoo.org> 
wrote:
> > > My guess is that somewhere in QEMU the types don't match what RV32 is
> > > using. It's probably worth printing out the size, alignment and value
> > > of everything at every stage and see what breaks.
> > 
> > Thanks.
> 
> Sorry I can't be more helpful. Hopefully one day I will look into it,
> but it's not a high priority.

No problem at all. I'm mostly going to postpone this now in favour of 
autobuilding bootable images (which needs some non-riscv specific 
preparation). 

Last thing I still did overnight was run the glibc testsuite in quemu-riscv32 
user emulation. The summary is below (and as suspected a bit of a massacre); 
I'll look at the details later sometime. 
If anyone else wants to poke at it, I've tarred up the full glibc build dir 
and uploaded it together with the build log, see
https://dev.gentoo.org/~dilfridge/rv32-testing/

UNSUPPORTED: crypt/cert
FAIL: debug/tst-backtrace4
FAIL: debug/tst-backtrace5
FAIL: debug/tst-backtrace6
FAIL: elf/check-localplt
UNSUPPORTED: elf/tst-dlopen-self-container
UNSUPPORTED: elf/tst-dlopen-tlsmodid-container
XPASS: elf/tst-latepthread
UNSUPPORTED: elf/tst-ldconfig-bad-aux-cache
UNSUPPORTED: elf/tst-ldconfig-ld_so_conf-update
UNSUPPORTED: elf/tst-pldd
XPASS: elf/tst-protected1a
XPASS: elf/tst-protected1b
FAIL: iconv/tst-iconv_prog
UNSUPPORTED: io/tst-copy_file_range
UNSUPPORTED: io/tst-getcwd-abspath
FAIL: libio/tst-atime
UNSUPPORTED: locale/tst-localedef-path-norm
UNSUPPORTED: localedata/tst-localedef-hardlinks
FAIL: malloc/tst-dynarray-fail
FAIL: malloc/tst-dynarray-fail-mem
FAIL: malloc/tst-interpose-nothread
FAIL: malloc/tst-interpose-static-nothread
FAIL: malloc/tst-interpose-static-thread
FAIL: malloc/tst-interpose-thread
FAIL: malloc/tst-mallocfork2
UNSUPPORTED: malloc/tst-mallocstate
FAIL: math/test-double-j1
FAIL: math/test-double-y0
UNSUPPORTED: math/test-fesetexcept-traps
UNSUPPORTED: math/test-fexcept-traps
FAIL: math/test-float-asinh
FAIL: math/test-float-cos
FAIL: math/test-float-cosh
FAIL: math/test-float-erfc
FAIL: math/test-float-exp
FAIL: math/test-float-j0
FAIL: math/test-float-j1
FAIL: math/test-float-lgamma
FAIL: math/test-float-sin
FAIL: math/test-float-tgamma
FAIL: math/test-float-y0
FAIL: math/test-float32-asinh
FAIL: math/test-float32-cos
FAIL: math/test-float32-cosh
FAIL: math/test-float32-erfc
FAIL: math/test-float32-exp
FAIL: math/test-float32-j0
FAIL: math/test-float32-j1
FAIL: math/test-float32-lgamma
FAIL: math/test-float32-sin
FAIL: math/test-float32-tgamma
FAIL: math/test-float32-y0
FAIL: math/test-float32x-j1
FAIL: math/test-float32x-y0
FAIL: math/test-float64-j1
FAIL: math/test-float64-y0
UNSUPPORTED: math/test-matherr
UNSUPPORTED: math/test-matherr-2
UNSUPPORTED: math/test-nearbyint-except
UNSUPPORTED: math/test-nearbyint-except-2
FAIL: misc/test-errno-linux
FAIL: misc/tst-clone2
FAIL: misc/tst-clone3
FAIL: misc/tst-gettid-kill
FAIL: misc/tst-glibcsyscalls
FAIL: misc/tst-memfd_create
FAIL: misc/tst-mlock2
UNSUPPORTED: misc/tst-ofdlocks-compat
UNSUPPORTED: misc/tst-pkey
FAIL: misc/tst-sigcontext-get_pc
UNSUPPORTED: misc/tst-ttyname
UNSUPPORTED: nptl/test-cond-printers
UNSUPPORTED: nptl/test-condattr-printers
UNSUPPORTED: nptl/test-mutex-printers
UNSUPPORTED: nptl/test-mutexattr-printers
UNSUPPORTED: nptl/test-rwlock-printers
UNSUPPORTED: nptl/test-rwlockattr-printers
FAIL: nptl/tst-align-clone
FAIL: nptl/tst-cancel-self-canceltype
FAIL: nptl/tst-cancel17
FAIL: nptl/tst-cancel21
FAIL: nptl/tst-cancel21-static
FAIL: nptl/tst-cancel24
FAIL: nptl/tst-cancel24-static
FAIL: nptl/tst-cancelx16
FAIL: nptl/tst-cancelx17
FAIL: nptl/tst-cancelx18
FAIL: nptl/tst-cancelx20
FAIL: nptl/tst-cancelx21
FAIL: nptl/tst-cancelx4
FAIL: nptl/tst-cancelx5
FAIL: nptl/tst-cleanupx4
FAIL: nptl/tst-cond-except
FAIL: nptl/tst-cond24
FAIL: nptl/tst-cond25
FAIL: nptl/tst-getpid1
UNSUPPORTED: nptl/tst-mutexpi5
UNSUPPORTED: nptl/tst-mutexpi5a
UNSUPPORTED: nptl/tst-mutexpi9
FAIL: nptl/tst-oncex3
FAIL: nptl/tst-oncex4
UNSUPPORTED: nptl/tst-pthread-getattr
FAIL: nptl/tst-robust-fork
FAIL: nptl/tst-robust1
FAIL: nptl/tst-robust2
FAIL: nptl/tst-robust3
FAIL: nptl/tst-robust4
FAIL: nptl/tst-robust5
FAIL: nptl/tst-robust6
FAIL: nptl/tst-robust7
FAIL: nptl/tst-robust8
FAIL: nptl/tst-robust9
XPASS: nptl/tst-stack4
UNSUPPORTED: nss/tst-nss-db-endgrent
UNSUPPORTED: nss/tst-nss-db-endpwent
UNSUPPORTED: nss/tst-nss-files-alias-leak
UNSUPPORTED: nss/tst-nss-files-alias-truncated
UNSUPPORTED: nss/tst-nss-files-hosts-erange
UNSUPPORTED: nss/tst-nss-files-hosts-getent
UNSUPPORTED: nss/tst-nss-files-hosts-long
UNSUPPORTED: nss/tst-nss-test3
FAIL: posix/test-errno
FAIL: posix/tst-fexecve
UNSUPPORTED: posix/tst-glob_lstat_compat
FAIL: posix/tst-posix_spawn-setsid
FAIL: posix/tst-spawn2
FAIL: posix/tst-spawn4
UNSUPPORTED: posix/tst-spawn4-compat
UNSUPPORTED: posix/tst-sysconf-empty-chroot
FAIL: posix/tst-wait4
UNSUPPORTED: resolv/tst-p_secstodate
UNSUPPORTED: resolv/tst-resolv-res_init
UNSUPPORTED: resolv/tst-resolv-res_init-thread
UNSUPPORTED: resolv/tst-resolv-threads
FAIL: rt/tst-aio4
FAIL: rt/tst-mqueue3
FAIL: rt/tst-mqueue5
FAIL: rt/tst-mqueue6
FAIL: rt/tst-mqueue8x
FAIL: stdio-common/tst-vfprintf-width-prec
FAIL: stdio-common/tst-vfprintf-width-prec-mem
UNSUPPORTED: stdlib/tst-system
UNSUPPORTED: string/tst-strerror
UNSUPPORTED: string/tst-strsignal
XPASS: support/tst-support_descriptors
FAIL: sysvipc/test-sysvmsg
FAIL: sysvipc/test-sysvsem
Summary of test results:
     95 FAIL
   3971 PASS
     48 UNSUPPORTED
     17 XFAIL
      5 XPASS
make[1]: *** [Makefile:634: tests] Error 1







> 
> > > AFAIK RV32 linux-user mode is pretty much un-tested. So their might be
> > > all sorts of issues with it unfortunately.
> > 
> > Would you consider qemu system mode more reliable?
> 
> Yes. For RISC-V the softmmu implementations are much more thoroughly tested.
> > I need to prepare some bootable riscv gentoo images eventually anyway.
> > Might as well try a riscv32 one for comparison then if that is more
> > promising.
> It would be great to have more distros supporting RV32.
> 
> Alistair
> 
> > --
> > Andreas K. Hüttel
> > dilfridge@gentoo.org
> > Gentoo Linux developer
> > (council, qa, toolchain, base-system, perl, libreoffice)


-- 
Andreas K. Hüttel
dilfridge@gentoo.org
Gentoo Linux developer 
(council, qa, toolchain, base-system, perl, libreoffice)

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

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