nuttx-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aguettou...@apache.org
Subject [incubator-nuttx] 01/03: arch/arm: Fix linker error: undefined reference to `g_intstackalloc'
Date Tue, 24 Mar 2020 09:54:55 GMT
This is an automated email from the ASF dual-hosted git repository.

aguettouche pushed a commit to branch pr618
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 9f48f6352c55ba5f0cadc1d1eb84457f6e18720c
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
AuthorDate: Mon Mar 23 19:43:23 2020 +0800

    arch/arm: Fix linker error: undefined reference to `g_intstackalloc'
    
    when CONFIG_ARCH_INTERRUPTSTACK, CONFIG_SMP and CONFIG_STACK_COLORATION are true
    
    Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
---
 arch/arm/src/common/up_checkstack.c | 6 ++++++
 arch/arm/src/common/up_initialize.c | 4 ++++
 2 files changed, 10 insertions(+)

diff --git a/arch/arm/src/common/up_checkstack.c b/arch/arm/src/common/up_checkstack.c
index fe75ed9..12ce6f7 100644
--- a/arch/arm/src/common/up_checkstack.c
+++ b/arch/arm/src/common/up_checkstack.c
@@ -211,9 +211,15 @@ ssize_t up_check_stack_remain(void)
 #if CONFIG_ARCH_INTERRUPTSTACK > 3
 size_t up_check_intstack(void)
 {
+#ifdef CONFIG_SMP
+  return do_stackcheck(up_intstack_base(),
+                       (CONFIG_ARCH_INTERRUPTSTACK & ~3),
+                       true);
+#else
   return do_stackcheck((uintptr_t)&g_intstackalloc,
                        (CONFIG_ARCH_INTERRUPTSTACK & ~3),
                        true);
+#endif
 }
 
 size_t up_check_intstack_remain(void)
diff --git a/arch/arm/src/common/up_initialize.c b/arch/arm/src/common/up_initialize.c
index 7e802f4..7389b32 100644
--- a/arch/arm/src/common/up_initialize.c
+++ b/arch/arm/src/common/up_initialize.c
@@ -75,7 +75,11 @@
 #if defined(CONFIG_STACK_COLORATION) && CONFIG_ARCH_INTERRUPTSTACK > 3
 static inline void up_color_intstack(void)
 {
+#ifdef CONFIG_SMP
+  uint32_t *ptr = (uint32_t *)up_intstack_base();
+#else
   uint32_t *ptr = (uint32_t *)&g_intstackalloc;
+#endif
   ssize_t size;
 
   for (size = (CONFIG_ARCH_INTERRUPTSTACK & ~3);


Mime
View raw message