From d02831550ee82869d06800e36454b3423faa95ad Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Wed, 11 Jul 2018 09:22:42 +0000 Subject: Fixed some alignment rules. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12159 110e8d01-0319-4d1e-a829-52ad28d1bb01 --- os/common/startup/ARMCMx/compilers/GCC/ld/rules_code.ld | 2 +- os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld | 2 -- .../startup/ARMCMx/compilers/GCC/ld/rules_memory.ld | 16 ---------------- .../startup/ARMCMx/compilers/GCC/ld/rules_stacks.ld | 1 + 4 files changed, 2 insertions(+), 19 deletions(-) (limited to 'os/common/startup/ARMCMx/compilers/GCC/ld') diff --git a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_code.ld b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_code.ld index f61a59f17..0b2baa7ab 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_code.ld +++ b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_code.ld @@ -35,7 +35,7 @@ SECTIONS __fini_array_end = .; } > XTORS_FLASH AT > XTORS_FLASH_LMA - .text : ALIGN(16) + .text : ALIGN(4) { __text_base = .; *(.text) diff --git a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld index 55d2ca2df..2ba14c703 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld +++ b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_data.ld @@ -18,7 +18,6 @@ SECTIONS { .data : ALIGN(4) { - . = ALIGN(4); PROVIDE(_textdata = LOADADDR(.data)); PROVIDE(_data = .); _textdata_start = LOADADDR(.data); @@ -33,7 +32,6 @@ SECTIONS .bss (NOLOAD) : ALIGN(4) { - . = ALIGN(4); _bss_start = .; *(.bss) *(.bss.*) diff --git a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_memory.ld b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_memory.ld index 6eab83b61..1576f76a2 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_memory.ld +++ b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_memory.ld @@ -68,7 +68,6 @@ SECTIONS { .ram0_init : ALIGN(4) { - . = ALIGN(4); __ram0_init_text__ = LOADADDR(.ram0_init); __ram0_init__ = .; KEEP(*(.ram0_init)) @@ -78,7 +77,6 @@ SECTIONS .ram0 (NOLOAD) : ALIGN(4) { - . = ALIGN(4); __ram0_clear__ = .; *(.ram0_clear) *(.ram0_clear.*) @@ -92,7 +90,6 @@ SECTIONS .ram1_init : ALIGN(4) { - . = ALIGN(4); __ram1_init_text__ = LOADADDR(.ram1_init); __ram1_init__ = .; KEEP(*(.ram1_init)) @@ -102,7 +99,6 @@ SECTIONS .ram1 (NOLOAD) : ALIGN(4) { - . = ALIGN(4); __ram1_clear__ = .; *(.ram1_clear) *(.ram1_clear.*) @@ -116,7 +112,6 @@ SECTIONS .ram2_init : ALIGN(4) { - . = ALIGN(4); __ram2_init_text__ = LOADADDR(.ram2_init); __ram2_init__ = .; KEEP(*(.ram2_init)) @@ -126,7 +121,6 @@ SECTIONS .ram2 (NOLOAD) : ALIGN(4) { - . = ALIGN(4); __ram2_clear__ = .; *(.ram2_clear) *(.ram2_clear.*) @@ -140,7 +134,6 @@ SECTIONS .ram3_init : ALIGN(4) { - . = ALIGN(4); __ram3_init_text__ = LOADADDR(.ram3_init); __ram3_init__ = .; KEEP(*(.ram3_init)) @@ -150,7 +143,6 @@ SECTIONS .ram3 (NOLOAD) : ALIGN(4) { - . = ALIGN(4); __ram3_clear__ = .; *(.ram3_clear) *(.ram3_clear.*) @@ -164,7 +156,6 @@ SECTIONS .ram4_init : ALIGN(4) { - . = ALIGN(4); __ram4_init_text__ = LOADADDR(.ram4_init); __ram4_init__ = .; KEEP(*(.ram4_init)) @@ -174,7 +165,6 @@ SECTIONS .ram4 (NOLOAD) : ALIGN(4) { - . = ALIGN(4); __ram4_clear__ = .; *(.ram4_clear) *(.ram4_clear.*) @@ -188,7 +178,6 @@ SECTIONS .ram5_init : ALIGN(4) { - . = ALIGN(4); __ram5_init_text__ = LOADADDR(.ram5_init); __ram5_init__ = .; KEEP(*(.ram5_init)) @@ -198,7 +187,6 @@ SECTIONS .ram5 (NOLOAD) : ALIGN(4) { - . = ALIGN(4); __ram5_clear__ = .; *(.ram5_clear) *(.ram5_clear.*) @@ -212,7 +200,6 @@ SECTIONS .ram6_init : ALIGN(4) { - . = ALIGN(4); __ram6_init_text__ = LOADADDR(.ram6_init); __ram6_init__ = .; KEEP(*(.ram6_init)) @@ -222,7 +209,6 @@ SECTIONS .ram6 (NOLOAD) : ALIGN(4) { - . = ALIGN(4); __ram6_clear__ = .; *(.ram6_clear) *(.ram6_clear.*) @@ -236,7 +222,6 @@ SECTIONS .ram7_init : ALIGN(4) { - . = ALIGN(4); __ram7_init_text__ = LOADADDR(.ram7_init); __ram7_init__ = .; KEEP(*(.ram7_init)) @@ -246,7 +231,6 @@ SECTIONS .ram7 (NOLOAD) : ALIGN(4) { - . = ALIGN(4); __ram7_clear__ = .; *(.ram7_clear) *(.ram7_clear.*) diff --git a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_stacks.ld b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_stacks.ld index 087f913fa..1c64a442e 100644 --- a/os/common/startup/ARMCMx/compilers/GCC/ld/rules_stacks.ld +++ b/os/common/startup/ARMCMx/compilers/GCC/ld/rules_stacks.ld @@ -29,6 +29,7 @@ SECTIONS /* Special section for process stack.*/ .pstack (NOLOAD) : { + . = ALIGN(8); __process_stack_base__ = .; __main_thread_stack_base__ = .; . += __process_stack_size__; -- cgit v1.2.3