summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/cortex-m0/irq_handler.h2
-rw-r--r--core/host/irq_handler.h2
-rw-r--r--core/nds32/irq_handler.h2
-rw-r--r--core/riscv-rv32i/irq_handler.h2
4 files changed, 4 insertions, 4 deletions
diff --git a/core/cortex-m0/irq_handler.h b/core/cortex-m0/irq_handler.h
index e528717420..302befe7a6 100644
--- a/core/cortex-m0/irq_handler.h
+++ b/core/cortex-m0/irq_handler.h
@@ -35,7 +35,7 @@
#else /* CONFIG_TASK_PROFILING */
/* No Profiling : connect directly the IRQ vector */
#define DECLARE_IRQ_(irq, routine, priority) \
- static void routine(void); \
+ static void __keep routine(void); \
void IRQ_HANDLER(irq)(void) __attribute__((alias(STRINGIFY(routine))));\
const struct irq_priority __keep IRQ_PRIORITY(irq) \
__attribute__((section(".rodata.irqprio"))) \
diff --git a/core/host/irq_handler.h b/core/host/irq_handler.h
index 3947046f8c..17e3df52d9 100644
--- a/core/host/irq_handler.h
+++ b/core/host/irq_handler.h
@@ -16,7 +16,7 @@
* ensure it is enabled in the interrupt controller with the right priority.
*/
#define DECLARE_IRQ(irq, routine, priority) \
- static void routine(void); \
+ static void __keep routine(void); \
void IRQ_HANDLER(irq)(void) \
{ \
void *ret = __builtin_return_address(0); \
diff --git a/core/nds32/irq_handler.h b/core/nds32/irq_handler.h
index 7f679fa57e..7e404b5d0c 100644
--- a/core/nds32/irq_handler.h
+++ b/core/nds32/irq_handler.h
@@ -16,7 +16,7 @@
* ensure it is enabled in the interrupt controller with the right priority.
*/
#define DECLARE_IRQ(irq, routine, priority) \
- static void routine(void); \
+ static void __keep routine(void); \
void IRQ_HANDLER(CPU_INT(irq))(void) \
__attribute__ ((alias(STRINGIFY(routine)))); \
const struct irq_priority __keep IRQ_PRIORITY(CPU_INT(irq)) \
diff --git a/core/riscv-rv32i/irq_handler.h b/core/riscv-rv32i/irq_handler.h
index b6f9a222ef..6fe7769684 100644
--- a/core/riscv-rv32i/irq_handler.h
+++ b/core/riscv-rv32i/irq_handler.h
@@ -21,7 +21,7 @@
* ensure it is enabled in the interrupt controller with the right priority.
*/
#define DECLARE_IRQ(irq, routine, priority) \
- static void routine(void); \
+ static void __keep routine(void); \
void IRQ_HANDLER(CPU_INT(irq))(void) \
__attribute__ ((alias(STRINGIFY(routine)))); \
const struct irq_priority __keep IRQ_PRIORITY(CPU_INT(irq)) \