From ae2fa9e9c56d95920853719464cd55f5fdb03243 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 29 Jun 2019 16:51:09 +0000 Subject: [PATCH] Fixed bug #1033. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12849 27425a3e-05d8-49a3-a47f-9c15f0e5edd8 --- os/common/startup/ARM/compilers/GCC/ld/rules.ld | 2 +- os/common/startup/ARMCAx-TZ/compilers/GCC/ld/rules.ld | 2 +- os/common/startup/ARMCMx/compilers/GCC/ld/rules_code.ld | 2 +- os/common/startup/e200/compilers/GCC/ld/rules_z0.ld | 4 ++-- os/common/startup/e200/compilers/GCC/ld/rules_z3.ld | 4 ++-- os/common/startup/e200/compilers/GCC/ld/rules_z4.ld | 4 ++-- readme.txt | 2 ++ 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/os/common/startup/ARM/compilers/GCC/ld/rules.ld b/os/common/startup/ARM/compilers/GCC/ld/rules.ld index c6245820b..571fa0f3a 100644 --- a/os/common/startup/ARM/compilers/GCC/ld/rules.ld +++ b/os/common/startup/ARM/compilers/GCC/ld/rules.ld @@ -70,7 +70,7 @@ SECTIONS PROVIDE(__fini_array_end = .); } > flash - .text : ALIGN(16) + .text : ALIGN_WITH_INPUT { *(.text) *(.text.*) diff --git a/os/common/startup/ARMCAx-TZ/compilers/GCC/ld/rules.ld b/os/common/startup/ARMCAx-TZ/compilers/GCC/ld/rules.ld index bc2ca659d..e5041932e 100644 --- a/os/common/startup/ARMCAx-TZ/compilers/GCC/ld/rules.ld +++ b/os/common/startup/ARMCAx-TZ/compilers/GCC/ld/rules.ld @@ -70,7 +70,7 @@ SECTIONS PROVIDE(__fini_array_end = .); } > flash - .text : ALIGN(16) + .text : ALIGN_WITH_INPUT { *(.text) *(.text.*) 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 d4fa8af96..ab9edb5cf 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(4) + .text : ALIGN_WITH_INPUT { __text_base = .; *(.text) diff --git a/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld b/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld index e6cc68ea1..6775beac8 100644 --- a/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld +++ b/os/common/startup/e200/compilers/GCC/ld/rules_z0.ld @@ -57,14 +57,14 @@ SECTIONS PROVIDE(__fini_array_end = .); } > flash - .text_vle : ALIGN(16) + .text_vle : ALIGN_WITH_INPUT { *(.text_vle) *(.text_vle.*) *(.gnu.linkonce.t_vle.*) } > flash - .text : ALIGN(16) + .text : ALIGN_WITH_INPUT { *(.text) *(.text.*) diff --git a/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld b/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld index cda44ab1d..1d2a424ed 100644 --- a/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld +++ b/os/common/startup/e200/compilers/GCC/ld/rules_z3.ld @@ -54,14 +54,14 @@ SECTIONS PROVIDE(__fini_array_end = .); } > flash - .text_vle : ALIGN(16) + .text_vle : ALIGN_WITH_INPUT { *(.text_vle) *(.text_vle.*) *(.gnu.linkonce.t_vle.*) } > flash - .text : ALIGN(16) + .text : ALIGN_WITH_INPUT { *(.text) *(.text.*) diff --git a/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld b/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld index cda44ab1d..1d2a424ed 100644 --- a/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld +++ b/os/common/startup/e200/compilers/GCC/ld/rules_z4.ld @@ -54,14 +54,14 @@ SECTIONS PROVIDE(__fini_array_end = .); } > flash - .text_vle : ALIGN(16) + .text_vle : ALIGN_WITH_INPUT { *(.text_vle) *(.text_vle.*) *(.gnu.linkonce.t_vle.*) } > flash - .text : ALIGN(16) + .text : ALIGN_WITH_INPUT { *(.text) *(.text.*) diff --git a/readme.txt b/readme.txt index 21454c9d7..ef360aa21 100644 --- a/readme.txt +++ b/readme.txt @@ -101,6 +101,8 @@ - HAL: Added a new interface for range-finder devices (used by EX). - HAL: Added mcuconf.h updater tool for STM32F407 (backported to 19.1.1). - NIL: Integrated NIL 4.0. +- FIX: Fixed GCC scatter files alignment problem (bug #1033) + (backported to 19.1.3)(backported to 18.2.3). - FIX: Fixed long intervals fail when interval type is larger than time type (bug #1031)(backported to 19.1.3)(backported to 18.2.3). - FIX: Fixed Round Robin check missing when in tick-less mode (bug #1030)