strace sys_clone bug on x86-32

enh enh at google.com
Wed Nov 27 00:08:47 UTC 2013


strace's process.c makes a compile-time decision about what order the
arguments to sys_clone are in; this doesn't work on x86/x86-64 because
you don't know until runtime whether you're tracing a 32-bit or 64-bit
process.

this means that strace on a 32-bit process that calls pthread_create
shows the sys_clone tls and child tid arguments flipped.

(i maintain Android's C library and spent today debugging Android's
pthread_create for x86-32 on an x86-64 desktop, so i may be the first
and last person ever to hit this bug, but i thought i'd report it
anyway.)

 -e




More information about the Strace-devel mailing list