mirror of
https://git.musl-libc.org/git/musl
synced 2025-02-23 21:54:16 +03:00

using the actual mcontext_t definition rather than an overlaid pointer array both improves correctness/readability and eliminates some ugly hacks for archs with 64-bit registers bit 32-bit program counter. also fix UB due to comparison of pointers not in a common array object.
13 lines
221 B
C
13 lines
221 B
C
static inline struct pthread *__pthread_self()
|
|
{
|
|
struct pthread *self;
|
|
__asm__ __volatile__ ("mov %%fs:0,%0" : "=r" (self) );
|
|
return self;
|
|
}
|
|
|
|
#define TP_ADJ(p) (p)
|
|
|
|
#define MC_PC gregs[REG_RIP]
|
|
|
|
#define CANARY canary2
|