diff options
author | Freya Murphy <freya@freyacat.org> | 2024-02-03 14:36:26 -0500 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-02-03 14:41:52 -0500 |
commit | 8e74123683072deed9ecd29e76037a16a47e3295 (patch) | |
tree | 2a4d6394688ed23b9360ff87c8d9861ab40da01d /src/arch/amd64/cpu/backtrace.c | |
parent | refactor exception panic (diff) | |
download | corn-8e74123683072deed9ecd29e76037a16a47e3295.tar.gz corn-8e74123683072deed9ecd29e76037a16a47e3295.tar.bz2 corn-8e74123683072deed9ecd29e76037a16a47e3295.zip |
alloc on write paging, -O3 compile works, 'volatile' is the story of my life
Diffstat (limited to '')
-rw-r--r-- | src/arch/amd64/cpu/backtrace.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/amd64/cpu/backtrace.c b/src/arch/amd64/cpu/backtrace.c index 9e1c9d7..b1d2a2c 100644 --- a/src/arch/amd64/cpu/backtrace.c +++ b/src/arch/amd64/cpu/backtrace.c @@ -8,13 +8,13 @@ struct stackframe { size_t backtrace(void **dst, size_t len) { struct stackframe *rbp; - __asm__ volatile ("mov %%rbp, %0" : "=r"(rbp)); + __asm__ ("mov %%rbp, %0" : "=r"(rbp)); return backtrace_ex(dst, len, rbp->rip, rbp->rbp); } size_t backtrace_ex(void **dst, size_t len, void *ip, void *bp) { struct stackframe *frame = bp; - __asm__ volatile ("mov %%rbp, %0" : "=r"(frame)); + __asm__ ("mov %%rbp, %0" : "=r"(frame)); if (len > 0) { dst[0] = ip; } @@ -28,7 +28,7 @@ size_t backtrace_ex(void **dst, size_t len, void *ip, void *bp) { void log_backtrace() { struct stackframe *rbp; - __asm__ volatile ("mov %%rbp, %0" : "=r"(rbp)); + __asm__ ("mov %%rbp, %0" : "=r"(rbp)); log_backtrace_ex(rbp->rip, rbp->rbp); } |