mirror of
https://github.com/fluencelabs/musl
synced 2025-06-28 14:11:56 +00:00
match glibc/lsb cancellation abi on i386
glibc made the ridiculous choice to use pass-by-register calling convention for these functions, which is impossible to duplicate directly on non-gcc compilers. instead, we use ugly asm to wrap and convert the calling convention. presumably this works with every compiler anyone could potentially want to use.
This commit is contained in:
@ -1,5 +1,12 @@
|
||||
#include "pthread_impl.h"
|
||||
|
||||
#ifdef __pthread_register_cancel
|
||||
#undef __pthread_register_cancel
|
||||
#undef __pthread_unregister_cancel
|
||||
#define __pthread_register_cancel __pthread_register_cancel_3
|
||||
#define __pthread_unregister_cancel __pthread_unregister_cancel_3
|
||||
#endif
|
||||
|
||||
void __pthread_register_cancel(struct __ptcb *cb)
|
||||
{
|
||||
struct pthread *self = pthread_self();
|
||||
|
Reference in New Issue
Block a user