Skip to content

Support clone3 syscall for <glibc-2.34

Starting glibc-2.34, they use clone3() to create threads segfaulting anything preloaded with syscall_intercept as soon as the thread is created.

This can be easily reproduced by creating a C program that creates a pthread and preloading libsyscall_intercept.so:

INTERCEPT_HOOK_CMDLINE_FILTER=pthread_create.out LD_PRELOAD=[...]/syscall_intercept/build/libsyscall_intercept.so.0.1.0 ./pthread_create.out

Note for the future, strace was able to catch and the client log reported an unknown syscall.