This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 33786aeec25 arch/arm: do not instrument the ARMv6/7/8-M reset entry
33786aeec25 is described below

commit 33786aeec2566ba2853499c82655dbef74208532
Author: raiden00pl <[email protected]>
AuthorDate: Fri Oct 30 12:53:35 2026 +0100

    arch/arm: do not instrument the ARMv6/7/8-M reset entry
    
    start() runs before .bss is cleared, so with function instrumentation
    it reads stale instrument state and can call a handler left in SRAM by
    the previous image, which locks up the core after a reset.
    
    Signed-off-by: raiden00pl <[email protected]>
    Assisted-by: Claude Code
---
 arch/arm/src/armv6-m/arm_vectors.c | 2 +-
 arch/arm/src/armv7-m/arm_vectors.c | 2 +-
 arch/arm/src/armv8-m/arm_vectors.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/src/armv6-m/arm_vectors.c 
b/arch/arm/src/armv6-m/arm_vectors.c
index 894891da680..6a8669f0102 100644
--- a/arch/arm/src/armv6-m/arm_vectors.c
+++ b/arch/arm/src/armv6-m/arm_vectors.c
@@ -64,7 +64,7 @@
 
 extern void __start(void);
 
-static void start(void)
+static void noinstrument_function start(void)
 {
   /* Zero lr to mark the end of backtrace */
 
diff --git a/arch/arm/src/armv7-m/arm_vectors.c 
b/arch/arm/src/armv7-m/arm_vectors.c
index 2a2df2e2384..16f040e5398 100644
--- a/arch/arm/src/armv7-m/arm_vectors.c
+++ b/arch/arm/src/armv7-m/arm_vectors.c
@@ -58,7 +58,7 @@
 
 extern void __start(void);
 
-static void start(void)
+static void noinstrument_function start(void)
 {
   /* Zero lr to mark the end of backtrace */
 
diff --git a/arch/arm/src/armv8-m/arm_vectors.c 
b/arch/arm/src/armv8-m/arm_vectors.c
index c17de5dc4ac..f4a2557d94e 100644
--- a/arch/arm/src/armv8-m/arm_vectors.c
+++ b/arch/arm/src/armv8-m/arm_vectors.c
@@ -62,7 +62,7 @@
 
 extern void __start(void);
 
-static void start(void)
+static void noinstrument_function start(void)
 {
   /* Zero lr to mark the end of backtrace */
 

Reply via email to