[uclibc-ng-devel] __WIFSTOPPED macro for MIPS

Waldemar Brodkorb wbx at uclibc-ng.org
Sun Jun 10 19:20:53 CEST 2018


Hio Sergey,

it was added with this commit by Denys:
4a96b948687166da26a6c327e6c6733ad2336c5c

Denys, do you remember why?

best regards
 Waldemar

Sergey Korolev wrote,

> 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=445b59fa4adadbb2890a9e2debffb5330f1e09e4;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 at uclibc-ng.org
> https://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel



More information about the devel mailing list