Skip to content

Commit 734e044

Browse files
use raw string literal
1 parent 0dec13e commit 734e044

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

libc/src/setjmp/x86_64/setjmp.cpp

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,22 @@ namespace LIBC_NAMESPACE_DECL {
1919

2020
[[gnu::naked]]
2121
LLVM_LIBC_FUNCTION(int, setjmp, (__jmp_buf * buf)) {
22-
asm("mov %%rbx, %c[rbx](%%rdi)\n\t"
23-
"mov %%rbp, %c[rbp](%%rdi)\n\t"
24-
"mov %%r12, %c[r12](%%rdi)\n\t"
25-
"mov %%r13, %c[r13](%%rdi)\n\t"
26-
"mov %%r14, %c[r14](%%rdi)\n\t"
27-
"mov %%r15, %c[r15](%%rdi)\n\t"
28-
29-
"lea 8(%%rsp), %%rax\n\t"
30-
"mov %%rax, %c[rsp](%%rdi)\n\t"
31-
32-
"mov (%%rsp), %%rax\n\t"
33-
"mov %%rax, %c[rip](%%rdi)\n\t"
34-
35-
"xorl %%eax, %%eax\n\t"
36-
"retq" ::[rbx] "i"(offsetof(__jmp_buf, rbx)),
22+
asm(R"(
23+
mov %%rbx, %c[rbx](%%rdi)
24+
mov %%rbp, %c[rbp](%%rdi)
25+
mov %%r12, %c[r12](%%rdi)
26+
mov %%r13, %c[r13](%%rdi)
27+
mov %%r14, %c[r14](%%rdi)
28+
mov %%r15, %c[r15](%%rdi)
29+
30+
lea 8(%%rsp), %%rax
31+
mov %%rax, %c[rsp](%%rdi)
32+
33+
mov (%%rsp), %%rax
34+
mov %%rax, %c[rip](%%rdi)
35+
36+
xorl %%eax, %%eax
37+
retq)" ::[rbx] "i"(offsetof(__jmp_buf, rbx)),
3738
[rbp] "i"(offsetof(__jmp_buf, rbp)), [r12] "i"(offsetof(__jmp_buf, r12)),
3839
[r13] "i"(offsetof(__jmp_buf, r13)), [r14] "i"(offsetof(__jmp_buf, r14)),
3940
[r15] "i"(offsetof(__jmp_buf, r15)), [rsp] "i"(offsetof(__jmp_buf, rsp)),

0 commit comments

Comments
 (0)