build: fix issue with static interrupts on ARC/ARM
Static interrupts rely on a trick where the _sw_isr_table array is declared with each element in a different .gnu.linkonce section, initially pointing to the spurious IRQ handler. When drivers or apps declare their own interrupts, they override the element with their own containing the real ISR and parameter. However, this only works if the initial declaration of the _sw_isr_table array with the spurious handlers is linked last. App-specific code was being linked later than the core code, causing static interrupts declared in apps not to be installed correctly. If the _sw_isr_table is moved from SOC-specific code to core arch code, interrupts configured under soc/ should still also work. Change-Id: Iec7df47386dfbbf2956a807da27dc8aa6e01b268 Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
d1ff13e68f
commit
630280c464
3 changed files with 4 additions and 4 deletions
|
@ -2,5 +2,5 @@ subdir-ccflags-y +=-I$(srctree)/include/drivers
|
|||
subdir-ccflags-y +=-I$(srctree)/drivers
|
||||
subdir-asflags-y := ${subdir-ccflags-y}
|
||||
|
||||
obj-y += core/
|
||||
obj-y += soc/$(SOC_NAME)/
|
||||
obj-y += core/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue