summaryrefslogtreecommitdiff
path: root/src/kernel/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/arch')
-rw-r--r--src/kernel/arch/generic.h2
-rw-r--r--src/kernel/arch/i386/sysenter.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/kernel/arch/generic.h b/src/kernel/arch/generic.h
index d5f8b3c..3ab21b4 100644
--- a/src/kernel/arch/generic.h
+++ b/src/kernel/arch/generic.h
@@ -16,7 +16,7 @@ __attribute__((noreturn))
void halt_cpu();
// src/arch/i386/sysenter.s
-void sysexit(struct registers);
+_Noreturn void sysexit(struct registers);
int syscall_handler(int, int, int, int);
// all of those can allocate memory
diff --git a/src/kernel/arch/i386/sysenter.c b/src/kernel/arch/i386/sysenter.c
index 9ba826b..b24c857 100644
--- a/src/kernel/arch/i386/sysenter.c
+++ b/src/kernel/arch/i386/sysenter.c
@@ -10,6 +10,7 @@ void sysexit(struct registers regs) {
_sysexit_regs.ecx = regs.esp;
_sysexit_regs.edx = regs.eip;
_sysexit_real();
+ __builtin_unreachable();
}
_Noreturn void sysenter_stage2() {