riscv32 wait() problem, qemu or glibc?
Andreas K. Hüttel
dilfridge@gentoo.org
Mon Sep 14 08:14:16 GMT 2020
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
dilfridge@gentoo.org
Gentoo Linux developer
(council, qa, toolchain, base-system, perl, libreoffice)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: This is a digitally signed message part.
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20200914/bd3a0de8/attachment.sig>
More information about the Libc-alpha
mailing list