ARM ABI requires stack to be aligned on a 64-bit boundary
[bertos.git] / bertos / cpu / arm / scripts / at91sam7_256_rom.ld
index 815aa42307b05e0cc651bd4668150ae62765c7df..5efb78b9188c7e09f3fbb1353c853d6313dff472 100644 (file)
@@ -87,7 +87,7 @@ SECTIONS
        _etext = .;
        PROVIDE (__etext = .);
 
-       .data : AT (__etext)
+       .data : AT (_etext)
        {
                PROVIDE (__data_start = .);
                *(.data .data.*)
@@ -114,27 +114,27 @@ SECTIONS
 
        PROVIDE (__stack_fiq_start = .);
        . += FIQ_STACK_SIZE;
-       . = ALIGN(4);
+       . = ALIGN(8);
        PROVIDE (__stack_fiq_end = .);
 
        PROVIDE (__stack_irq_start = .);
        . += IRQ_STACK_SIZE;
-       . = ALIGN(4);
+       . = ALIGN(8);
        PROVIDE (__stack_irq_end = .);
 
        PROVIDE (__stack_abt_start = .);
        . += ABT_STACK_SIZE;
-       . = ALIGN(4);
+       . = ALIGN(8);
        PROVIDE (__stack_abt_end = .);
 
        PROVIDE (__stack_und_start = .);
        . += UND_STACK_SIZE;
-       . = ALIGN(4);
+       . = ALIGN(8);
        PROVIDE (__stack_und_end = .);
 
        PROVIDE (__stack_svc_start = .);
        . += SVC_STACK_SIZE;
-       . = ALIGN(4);
+       . = ALIGN(8);
        PROVIDE (__stack_svc_end = .);
 
        PROVIDE (__stack_end = .);