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

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

commit e42780bb0f5c1bf406179fcd036d37813919addc
Author: Xiang Xiao <xiaoxi...@xiaomi.com>
AuthorDate: Mon Dec 18 17:48:07 2023 +0800

    arch/arm: Disable -Warray-bound for rp2040, dm320 and lpc31xx
    
    since gcc report the false alarm if the pointer offset from zero address:
        inlined from 'up_vectormapping' at chip/dm320_boot.c:162:7,
        inlined from 'arm_boot' at chip/dm320_boot.c:211:3:
    Error: chip/dm320_boot.c:117:17: error: array subscript 0 is outside array 
bounds of 'uint32_t[0]' {aka 'long unsigned int[]'} [-Werror=array-bounds=]
      117 |   ctable[index] = (paddr | mmuflags);
          |   ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
    
    Signed-off-by: Xiang Xiao <xiaoxi...@xiaomi.com>
---
 arch/arm/src/a1x/a1x_boot.c       | 2 +-
 arch/arm/src/am335x/am335x_boot.c | 2 +-
 arch/arm/src/dm320/Make.defs      | 2 ++
 arch/arm/src/dm320/dm320_boot.c   | 2 +-
 arch/arm/src/imx6/imx_boot.c      | 2 +-
 arch/arm/src/lpc31xx/Make.defs    | 2 ++
 arch/arm/src/lpc31xx/lpc31_boot.c | 4 ++--
 arch/arm/src/rp2040/Make.defs     | 2 ++
 arch/arm/src/sama5/sam_boot.c     | 2 +-
 9 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/arch/arm/src/a1x/a1x_boot.c b/arch/arm/src/a1x/a1x_boot.c
index 731e46e6fd..59d675661a 100644
--- a/arch/arm/src/a1x/a1x_boot.c
+++ b/arch/arm/src/a1x/a1x_boot.c
@@ -188,7 +188,7 @@ static void a1x_vectormapping(void)
 
   while (vector_paddr < end_paddr)
     {
-      mmu_l2_setentry(VECTOR_L2_VBASE,  vector_paddr, vector_vaddr,
+      mmu_l2_setentry(VECTOR_L2_VBASE, vector_paddr, vector_vaddr,
                       MMU_L2_VECTORFLAGS);
       vector_paddr += 4096;
       vector_vaddr += 4096;
diff --git a/arch/arm/src/am335x/am335x_boot.c 
b/arch/arm/src/am335x/am335x_boot.c
index 4a96276f6a..ee68fad9ad 100644
--- a/arch/arm/src/am335x/am335x_boot.c
+++ b/arch/arm/src/am335x/am335x_boot.c
@@ -272,7 +272,7 @@ static void am335x_vectormapping(void)
 
   while (vector_paddr < end_paddr)
     {
-      mmu_l2_setentry(VECTOR_L2_VBASE,  vector_paddr, vector_vaddr,
+      mmu_l2_setentry(VECTOR_L2_VBASE, vector_paddr, vector_vaddr,
                       MMU_L2_VECTORFLAGS);
       vector_paddr += 4096;
       vector_vaddr += 4096;
diff --git a/arch/arm/src/dm320/Make.defs b/arch/arm/src/dm320/Make.defs
index 349f9ef3ab..5507bcbabf 100644
--- a/arch/arm/src/dm320/Make.defs
+++ b/arch/arm/src/dm320/Make.defs
@@ -20,6 +20,8 @@
 
 include arm/Make.defs
 
+CFLAGS += -Wno-array-bounds
+
 CHIP_ASRCS  = dm320_lowputc.S dm320_restart.S
 
 CHIP_CSRCS  = dm320_allocateheap.c dm320_boot.c dm320_decodeirq.c
diff --git a/arch/arm/src/dm320/dm320_boot.c b/arch/arm/src/dm320/dm320_boot.c
index b1ace97494..c64ce1032f 100644
--- a/arch/arm/src/dm320/dm320_boot.c
+++ b/arch/arm/src/dm320/dm320_boot.c
@@ -102,7 +102,7 @@ static inline void
 up_setlevel2coarseentry(uint32_t ctabvaddr, uint32_t paddr,
                         uint32_t vaddr, uint32_t mmuflags)
 {
-  uint32_t *ctable  = (uint32_t *)ctabvaddr;
+  uint32_t *ctable = (uint32_t *)ctabvaddr;
   uint32_t  index;
 
   /* The coarse table divides a 1Mb address space up into 256 entries, each
diff --git a/arch/arm/src/imx6/imx_boot.c b/arch/arm/src/imx6/imx_boot.c
index a78eda0c2f..764943cbd7 100644
--- a/arch/arm/src/imx6/imx_boot.c
+++ b/arch/arm/src/imx6/imx_boot.c
@@ -179,7 +179,7 @@ static void imx_vectormapping(void)
 
   while (vector_paddr < end_paddr)
     {
-      mmu_l2_setentry(VECTOR_L2_VBASE,  vector_paddr, vector_vaddr,
+      mmu_l2_setentry(VECTOR_L2_VBASE, vector_paddr, vector_vaddr,
                       MMU_L2_VECTORFLAGS);
       vector_paddr += 4096;
       vector_vaddr += 4096;
diff --git a/arch/arm/src/lpc31xx/Make.defs b/arch/arm/src/lpc31xx/Make.defs
index 93d02ce3c8..c625fc0b1d 100644
--- a/arch/arm/src/lpc31xx/Make.defs
+++ b/arch/arm/src/lpc31xx/Make.defs
@@ -20,6 +20,8 @@
 
 include arm/Make.defs
 
+CFLAGS += -Wno-array-bounds
+
 CGU_CSRCS  = lpc31_bcrndx.c lpc31_clkdomain.c lpc31_clkexten.c
 CGU_CSRCS += lpc31_clkfreq.c lpc31_clkinit.c lpc31_defclk.c
 CGU_CSRCS += lpc31_esrndx.c lpc31_fdcndx.c lpc31_fdivinit.c
diff --git a/arch/arm/src/lpc31xx/lpc31_boot.c 
b/arch/arm/src/lpc31xx/lpc31_boot.c
index 913c868756..9618c2b381 100644
--- a/arch/arm/src/lpc31xx/lpc31_boot.c
+++ b/arch/arm/src/lpc31xx/lpc31_boot.c
@@ -139,7 +139,7 @@ static inline void up_setlevel2coarseentry(uint32_t 
ctabvaddr,
                                            uint32_t vaddr,
                                            uint32_t mmuflags)
 {
-  uint32_t *ctable  = (uint32_t *)ctabvaddr;
+  uint32_t *ctable = (uint32_t *)ctabvaddr;
   uint32_t  index;
 
   /* The coarse table divides a 1Mb address space up into 256 entries, each
@@ -246,7 +246,7 @@ static void up_vectormapping(void)
 
   while (vector_paddr < end_paddr)
     {
-      up_setlevel2coarseentry(PGTABLE_L2_COARSE_VBASE,  vector_paddr,
+      up_setlevel2coarseentry(PGTABLE_L2_COARSE_VBASE, vector_paddr,
                               vector_vaddr, MMU_L2_VECTORFLAGS);
       vector_paddr += 4096;
       vector_vaddr += 4096;
diff --git a/arch/arm/src/rp2040/Make.defs b/arch/arm/src/rp2040/Make.defs
index 9b978bb0d7..76aab70927 100644
--- a/arch/arm/src/rp2040/Make.defs
+++ b/arch/arm/src/rp2040/Make.defs
@@ -20,6 +20,8 @@
 
 include armv6-m/Make.defs
 
+CFLAGS += -Wno-array-bounds
+
 CHIP_CSRCS += rp2040_idle.c
 CHIP_CSRCS += rp2040_irq.c
 CHIP_CSRCS += rp2040_uart.c
diff --git a/arch/arm/src/sama5/sam_boot.c b/arch/arm/src/sama5/sam_boot.c
index bc9a0bb0fe..7efbb28f8e 100644
--- a/arch/arm/src/sama5/sam_boot.c
+++ b/arch/arm/src/sama5/sam_boot.c
@@ -181,7 +181,7 @@ static void sam_vectormapping(void)
 
   while (vector_paddr < end_paddr)
     {
-      mmu_l2_setentry(VECTOR_L2_VBASE,  vector_paddr, vector_vaddr,
+      mmu_l2_setentry(VECTOR_L2_VBASE, vector_paddr, vector_vaddr,
                       MMU_L2_VECTORFLAGS);
       vector_paddr += 4096;
       vector_vaddr += 4096;

Reply via email to