-
Notifications
You must be signed in to change notification settings - Fork 6.4k
-
Notifications
You must be signed in to change notification settings - Fork 6.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
linker script: Vector table regression due to change in definition of _vector_end #47273
Comments
Detailed analysis Before the PR #46769, arch/arc/core/vector_table.ld , defines
Thus On the contrary, after the PR #46769,
Thus In other words, it is like patch changes the definition of symbol
this causes tests failures due to bad vector table. @carlocaione |
Not really. Why CI didn't catch this?
I don't want to revert that PR. Let me see if I can fix this in a proper way. |
@ABOSTM can you try this patch since I don't have the hardware? diff --git a/include/zephyr/linker/irq-vector-table-section.ld b/include/zephyr/linker/irq-vector-table-section.ld
index 6a07abc34e..a1947ef74d 100644
--- a/include/zephyr/linker/irq-vector-table-section.ld
+++ b/include/zephyr/linker/irq-vector-table-section.ld
@@ -2,3 +2,6 @@
. = ALIGN(CONFIG_ARCH_IRQ_VECTOR_TABLE_ALIGN);
KEEP(*(_IRQ_VECTOR_TABLE_SECTION_SYMS))
+
+/* On ARM this symbol must be after the IRQ vector table */
+_vector_end = .;
|
@carlocaione thanks for your quick response. About your 2nd post, I was not sure you request to test only the addition of |
@carlocaione , With a passed tests, let's say But with failed test : I tried to remove I noticed that |
That test is kind special in the sense that it is defining by itself the IRQ vector table.
That's fine.
Yes, the correct fix here is to add
What do you mean it doesn't work? |
I was expecting |
Following implementation of commit 219d5b5, and to complement commit 8c4f98d it is also necessary define _vector_end in test specific arm-irq-vector-table.ld Fixes zephyrproject-rtos#47273 Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
Describe the bug
A series of tests are now failed on STMicroelectronics test bench on STM32F0 series (Cortex M0):
Test/MCU is stuck when handling interrupts.
This is a regression introduced since merge of PR: #46769 "Try to fix IRQ vector table relocation"
and especially the move of line
KEEP(*(_IRQ_VECTOR_TABLE_SECTION_SYMS))
from
arch/arm/core/aarch32/vector_table.ld
totests/arch/arm/arm_irq_vector_table/irq-vector-table.ld
See detailed analysis below.
To Reproduce
Steps to reproduce the behavior:
Logs and console output
*** Booting Zephyr OS build zephyr-v3.1.0-985-gd497cca845e8 ***
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: