porting strace to Bionic libc

Dmitry V. Levin ldv at altlinux.org
Wed Feb 26 23:42:46 UTC 2014


On Tue, Feb 25, 2014 at 06:14:30PM -0800, enh wrote:
> with the appropriate additions to our makefile, your tip of tree works
> perfectly without patches except:
> 
> In file included from bionic/libc/include/signal.h:35:0,
>                  from bionic/libc/include/sys/select.h:35,
>                  from bionic/libc/include/unistd.h:34,
>                  from external/strace/defs.h:57,
>                  from external/strace/signal.c:34:
> In function 'memcpy',
>     inlined from 'decode_new_sigaction' at external/strace/signal.c:1310:8:
> bionic/libc/include/string.h:104:33: error: call to
> '__memcpy_dest_size_error' declared with attribute error: memcpy
> called with size bigger than destination
>          __memcpy_dest_size_error();
>                                  ^
> In function 'memcpy',
>     inlined from 'sys_sigreturn' at external/strace/signal.c:834:9:
> bionic/libc/include/string.h:104:33: error: call to
> '__memcpy_dest_size_error' declared with attribute error: memcpy
> called with size bigger than destination
>          __memcpy_dest_size_error();
>                                  ^
> 
> LP32 bionic's sigset_t is broken: it's only 4 bytes, so there's no
> support for any of the RT signals. we've fixed this for LP64, but
> until the time machine project ships i can't go back and fix LP32 :-(

I've posted a patch that reimplements signal mask decoding without use of
sigset_t.  It fixes this issue, but may introduce new bugs.  Please check
whether it builds and passes sigaction.test in your environment.


-- 
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20140227/53809255/attachment.bin>


More information about the Strace-devel mailing list