summaryrefslogtreecommitdiff
path: root/src/arch/amd64/cpu/backtrace.c
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-02-03 14:36:26 -0500
committerFreya Murphy <freya@freyacat.org>2024-02-03 14:41:52 -0500
commit8e74123683072deed9ecd29e76037a16a47e3295 (patch)
tree2a4d6394688ed23b9360ff87c8d9861ab40da01d /src/arch/amd64/cpu/backtrace.c
parentrefactor exception panic (diff)
downloadcorn-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 'src/arch/amd64/cpu/backtrace.c')
-rw-r--r--src/arch/amd64/cpu/backtrace.c6
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);
}