arch: Fixes potential mangled isr table when SHARED_INTERRUPTS is enabled
The linker was optimizing away z_shared_isr() the zephyr_pre0.elf image since the function is not used. However, zephyr.elf does use this function via isr_tables.c file, generated after zephyr_pre0.elf. This difference caused a shift in all symbol addresses by the size of the z_shared_isr() function. isr_tables.c had pointers for zephyr_pre0.elf. The build system assumes the ISR addresses are the same between both .elf files, when in fact, before this fix, they were not. When run on a device, interrupts were calling non-interrupt functions. Signed-off-by:Dave Desrochers <dave@intercreate.io> (cherry picked from commit 68b9cea6)
Loading
Please sign in to comment