diff options
Diffstat (limited to 'src/kernel/arch')
-rw-r--r-- | src/kernel/arch/generic.h | 2 | ||||
-rw-r--r-- | src/kernel/arch/i386/sysenter.c | 1 |
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() { |