sw_isr_table: Force align _isr_list_sname instances
For some target and optimization level combinations (aarch64 and -O2, for example), GCC will over align _isr_list_sname instances. The local isr declaration parser doesn't expect the extra padding that may be introduced and will produce unexpected errors about bad IRQs (`error: IRQ 1903323438 (offset=0) exceeds the maximum of 42`, for example). Prevent this issue by forcing the expected alignment of _isr_list_sname. Fixes #81254 Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
This commit is contained in:
parent
0584f30139
commit
dad2d65cfa
2 changed files with 11 additions and 3 deletions
|
@ -56,7 +56,7 @@ tests:
|
|||
extra_configs:
|
||||
- CONFIG_SHARED_INTERRUPTS=y
|
||||
filter: not CONFIG_TRUSTED_EXECUTION_NONSECURE
|
||||
arch.shared_interrupt.lto:
|
||||
arch.shared_interrupt.lto: &shared-interrupt-lto
|
||||
# excluded because of failures during test_prevent_interruption
|
||||
platform_exclude: qemu_cortex_m0
|
||||
arch_exclude:
|
||||
|
@ -79,6 +79,14 @@ tests:
|
|||
filter: >
|
||||
not CONFIG_TRUSTED_EXECUTION_NONSECURE and CONFIG_ISR_TABLES_LOCAL_DECLARATION_SUPPORTED
|
||||
and not CONFIG_CODE_DATA_RELOCATION
|
||||
arch.shared_interrupt.lto.speed:
|
||||
<<: *shared-interrupt-lto
|
||||
extra_configs:
|
||||
- CONFIG_SHARED_INTERRUPTS=y
|
||||
- CONFIG_TEST_USERSPACE=n
|
||||
- CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
|
||||
- CONFIG_LTO=y
|
||||
- CONFIG_SPEED_OPTIMIZATIONS=y
|
||||
arch.interrupt.multilevel:
|
||||
filter: CONFIG_MULTI_LEVEL_INTERRUPTS
|
||||
extra_args:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue