Does anyone know why __WIFSTOPPED macro redefined for MIPS architecture as

#if !defined(__mips__)

#define    __WIFSTOPPED(status)    (((status) & 0xff) == 0x7f)

#else

#define    __WIFSTOPPED(status)    (((status) & 0xff) == 0x7f && ((status)
& 0xff00))
#endif

?

The problem with this definition is in that newer gdb versions (>= 7.0)
expect that WIFSTOPPED(W_STOPCODE(0)) is true (see [1]), otherwise a
debugger erroneously blocks a child process in a trace status until gdb
exit.

In the glibc [2] this macro expansion is the same for all architectures.

Is this a gdb or uClibc-ng bug?

1. https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;
a=blob;f=gdb/linux-nat.c;h=445b59fa4adadbb2890a9e2debffb5
330f1e09e4;hb=HEAD#l497
2. https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=blob;
f=bits/waitstatus.h;h=a1c232612cd13e758f222ade6b27bc2c85ab8f8f;hb=HEAD#l44
_______________________________________________
devel mailing list
devel@uclibc-ng.org
https://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel

Reply via email to