[uclibc-ng-devel] __WIFSTOPPED macro for MIPS

Sergey Korolev s.korolev at ndmsystems.com
Sun Jun 10 17:26:13 CEST 2018


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uclibc-ng.org/pipermail/devel/attachments/20180610/6a3a087d/attachment.html>


More information about the devel mailing list