From be76b10be6a01881259c2eaeeb2d375b9c72e216 Mon Sep 17 00:00:00 2001 From: aozima Date: Thu, 4 Jun 2015 11:59:18 +0800 Subject: [PATCH] Align stack address to 8 byte. --- libcpu/arm/arm926/start_gcc.S | 12 +++++++----- libcpu/arm/arm926/start_iar.S | 12 +++++++----- libcpu/arm/arm926/start_rvds.S | 13 +++++++------ 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/libcpu/arm/arm926/start_gcc.S b/libcpu/arm/arm926/start_gcc.S index aeeb37616b..4924583cb8 100644 --- a/libcpu/arm/arm926/start_gcc.S +++ b/libcpu/arm/arm926/start_gcc.S @@ -22,6 +22,7 @@ * 2011-01-13 weety first version * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table + * 2015-06-04 aozima Align stack address to 8 byte. */ #define S_FRAME_SIZE (18*4) //72 @@ -61,31 +62,32 @@ .section .nobss, "w" .space UND_STK_SIZE + .align 3 .global UND_STACK_START UND_STACK_START: .space ABT_STK_SIZE - .align 2 + .align 3 .global ABT_STACK_START ABT_STACK_START: .space FIQ_STK_SIZE - .align 2 + .align 3 .global FIQ_STACK_START FIQ_STACK_START: .space IRQ_STK_SIZE - .align 2 + .align 3 .global IRQ_STACK_START IRQ_STACK_START: .skip SYS_STK_SIZE - .align 2 + .align 3 .global SYS_STACK_START SYS_STACK_START: .space SVC_STK_SIZE - .align 2 + .align 3 .global SVC_STACK_START SVC_STACK_START: diff --git a/libcpu/arm/arm926/start_iar.S b/libcpu/arm/arm926/start_iar.S index 4e689236a5..3494b108d7 100644 --- a/libcpu/arm/arm926/start_iar.S +++ b/libcpu/arm/arm926/start_iar.S @@ -22,6 +22,7 @@ ; * 2011-01-13 weety first version ; * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP ; * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table +; * 2015-06-04 aozima Align stack address to 8 byte. ; */ #define S_FRAME_SIZE (18*4) ;72 @@ -62,31 +63,32 @@ SECTION .noinit:DATA:NOROOT(3) DATA + ALIGNRAM 3 DS8 UND_STK_SIZE PUBLIC UND_STACK_START UND_STACK_START: - ALIGNRAM 2 + ALIGNRAM 3 DS8 ABT_STK_SIZE PUBLIC ABT_STACK_START ABT_STACK_START: - ALIGNRAM 2 + ALIGNRAM 3 DS8 FIQ_STK_SIZE PUBLIC FIQ_STACK_START FIQ_STACK_START: - ALIGNRAM 2 + ALIGNRAM 3 DS8 IRQ_STK_SIZE PUBLIC IRQ_STACK_START IRQ_STACK_START: - ALIGNRAM 2 + ALIGNRAM 3 DS8 SYS_STK_SIZE PUBLIC SYS_STACK_START SYS_STACK_START: - ALIGNRAM 2 + ALIGNRAM 3 DS8 SVC_STK_SIZE PUBLIC SVC_STACK_START SVC_STACK_START: diff --git a/libcpu/arm/arm926/start_rvds.S b/libcpu/arm/arm926/start_rvds.S index e086e394f1..68fd887d66 100644 --- a/libcpu/arm/arm926/start_rvds.S +++ b/libcpu/arm/arm926/start_rvds.S @@ -22,6 +22,7 @@ ; * 2011-08-14 weety first version ; * 2015-04-15 ArdaFu Split from AT91SAM9260 BSP ; * 2015-04-21 ArdaFu Remove remap code. Using mmu to map vector table +; * 2015-06-04 aozima Align stack address to 8 byte. ; */ S_FRAME_SIZE EQU (18*4) ;72 @@ -60,34 +61,34 @@ NOINT EQU 0xC0 GET rt_low_level_keil.inc ;----------------------- Stack and Heap Definitions ---------------------------- - AREA STACK, NOINIT, READWRITE, ALIGN=2 + AREA STACK, NOINIT, READWRITE, ALIGN=3 Stack_Mem SPACE UND_STK_SIZE EXPORT UND_STACK_START UND_STACK_START - ALIGN 4 + ALIGN 8 SPACE ABT_STK_SIZE EXPORT ABT_STACK_START ABT_STACK_START - ALIGN 4 + ALIGN 8 SPACE FIQ_STK_SIZE EXPORT FIQ_STACK_START FIQ_STACK_START - ALIGN 4 + ALIGN 8 SPACE IRQ_STK_SIZE EXPORT IRQ_STACK_START IRQ_STACK_START - ALIGN 4 + ALIGN 8 SPACE SYS_STK_SIZE EXPORT SYS_STACK_START SYS_STACK_START - ALIGN 4 + ALIGN 8 SPACE SVC_STK_SIZE EXPORT SVC_STACK_START SVC_STACK_START -- GitLab