diff options
| author | Kacper <kacper@mail.openlinux.dev> | 2025-12-16 17:02:05 +0100 |
|---|---|---|
| committer | Kacper <kacper@mail.openlinux.dev> | 2025-12-16 17:02:05 +0100 |
| commit | 90dad97fc07f049383903a166631e2c257f9b8c1 (patch) | |
| tree | 096cd247ecfda9e46598215a4f32aecedeedda90 /lib/libc/arch/x86_64/sigsetjmp.c | |
| parent | 0e832a9329cc4d4647e1ce529846073f21e66991 (diff) | |
Add support for TLS in the libc
Diffstat (limited to 'lib/libc/arch/x86_64/sigsetjmp.c')
| -rw-r--r-- | lib/libc/arch/x86_64/sigsetjmp.c | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/lib/libc/arch/x86_64/sigsetjmp.c b/lib/libc/arch/x86_64/sigsetjmp.c deleted file mode 100644 index 2d900ce7..00000000 --- a/lib/libc/arch/x86_64/sigsetjmp.c +++ /dev/null @@ -1,33 +0,0 @@ -#include <setjmp.h> // for sigsetjmp, sigjmp_buf - -int sigsetjmp(sigjmp_buf env, int savemask) -{ - __asm__ __volatile__("movq %%rbx, 0(%0)\n" - "movq %%rbp, 8(%0)\n" - "movq %%r12, 16(%0)\n" - "movq %%r13, 24(%0)\n" - "movq %%r14, 32(%0)\n" - "movq %%r15, 40(%0)\n" - - "leaq 8(%%rsp), %%rax\n" - "movq %%rax, 48(%0)\n" - "movq (%%rsp), %%rax\n" - "movq %%rax, 56(%0)\n" - - "testl %%esi, %%esi\n" - "jz 1f\n" - "movq $2, %%rdi\n" - "movq $0, %%rsi\n" - "leaq 64(%0), %%rdx\n" - "movq $128, %%r10\n" - "movq $14, %%rax\n" - "syscall\n" - - "1:\n" - "xor %%eax, %%eax\n" - : - : "r"(env), "S"(savemask) - : "rax", "rdi", "rdx", "r10", "memory"); - - return 0; -} |
