It improves some interception tools such as valgrind, however on
multithread the __syscall_cancel_arch is called.
The result libc.so has a slight larger code size:
ABI master patched diff increase
aarch64 1658673 1669121 10448 0.63%
x86_64 1976656 1985744 9088 0.46%
i686 2233622 2251130 17508 0.78%
powerpc64le 2382448 2396768 14320 0.60%
It mimics internally how cancellable entrypoints were implemented
before 89b53077d2, where cancellation
handlign were done inline in the syscall wraper.