diff --git a/cpu/x86/x86_interrupts.c b/cpu/x86/x86_interrupts.c index cb2da0adf..86991e8a2 100644 --- a/cpu/x86/x86_interrupts.c +++ b/cpu/x86/x86_interrupts.c @@ -169,7 +169,7 @@ static void continue_after_intr(void) } static unsigned in_intr_handler = 0, old_intr; -void x86_int_handler(void) +__attribute__((used)) void x86_int_handler(void) { switch (in_intr_handler++) { case 0: @@ -213,7 +213,7 @@ void x86_int_handler(void) __builtin_unreachable(); } -void ASM_FUN_ATTRIBUTES NORETURN x86_int_entry(void) +__attribute__((used)) void ASM_FUN_ATTRIBUTES NORETURN x86_int_entry(void) { __asm__ volatile ("mov %eax, (4*0 + x86_interrupted_ctx)"); __asm__ volatile ("mov %ecx, (4*1 + x86_interrupted_ctx)"); @@ -239,7 +239,7 @@ void ASM_FUN_ATTRIBUTES NORETURN x86_int_entry(void) __builtin_unreachable(); } -void ASM_FUN_ATTRIBUTES NORETURN x86_int_exit(void) +__attribute__((used)) void ASM_FUN_ATTRIBUTES NORETURN x86_int_exit(void) { __asm__ volatile ("mov (4*0 + x86_interrupted_ctx), %eax"); __asm__ volatile ("mov (4*1 + x86_interrupted_ctx), %ecx");