[Top][All Lists]

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

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

From: Palmer Dabbelt
Subject: Re: Fwd: riscv32 wait() problem, qemu or glibc?
Date: Sat, 19 Sep 2020 13:33:31 -0700 (PDT)

On Mon, 14 Sep 2020 09:23:10 PDT (-0700), dilfridge@gentoo.org wrote:
[forwarding this also to qemu-riscv, not sure what's the right list]
An: qemu-devel@nongnu.org, libc-alpha@sourceware.org

Hi, first of all, sorry for crossposting, but I'm dealing with many moving and experimental parts here...
Situation: riscv32 (ilp32) qemu-user [1] chroot, Linux [2], glibc [3], gcc [4]

The following small program outputs "child exited with status 40", which is rather unexpected (it should be 42). Any idea what is going on?

(This is a simplified version of code in a configure test. The test has other potential issues [5], but in any case it cant produce useful results on riscv32 right now.)

TIA, Andreas

#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/wait.h>

main(c, v)
     int c;
     char **v;
  pid_t pid, p;
  int s, i, n;

  s = 0;
  pid = fork();
  if (pid == 0)
    exit (42);

  /* wait for the process */
  p = wait(&s);
  if (p != pid)
    exit (255);

  if (WIFEXITED(s))
     int r=WEXITSTATUS(s);
     printf("child exited with status %i\n",r);

[1] qemu built from git master, Sep 12, 2020 16:30:37 EEST
[2] host kernel is 5.8.8
[3] glibc-2.32 with the rv32 patch series backported from master
[4] (Gentoo 10.2.0-r1 p2)
[5] https://lists.gnu.org/archive/html/bug-bash/2020-09/msg00033.html

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

I don't see any replies to this, but for some reason I remember having seen
some.  Did this get resolved in some other thread?  I'd bet that it's a bug in
rv32 user-mode emulation, as that's been only lightly used so far.

reply via email to

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