[Top][All Lists]

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

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

From: Andreas K. Huettel
Subject: Fwd: riscv32 wait() problem, qemu or glibc?
Date: Mon, 14 Sep 2020 19:23:10 +0300

[forwarding this also to qemu-riscv, not sure what's the right list]
An: qemu-devel@nongnu.org, libc-alpha@sourceware.org


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.)


#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)

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

reply via email to

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