From f8f59580aefc512e14857aa381d3824ec2f5624b Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 8 Dec 2011 09:15:41 +0000 Subject: [PATCH] git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3579 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/ports/GCC/ARMCMx/LPC11xx/ld/LPC1114.ld | 13 +++++++++---- os/ports/GCC/ARMCMx/LPC13xx/ld/LPC1343.ld | 13 +++++++++---- os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F100xB.ld | 13 +++++++++---- os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xB.ld | 13 +++++++++---- os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xE.ld | 13 +++++++++---- os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xG.ld | 13 +++++++++---- os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F107xC.ld | 13 +++++++++---- os/ports/GCC/ARMCMx/STM32F4xx/ld/STM32F407xG.ld | 13 +++++++++---- os/ports/GCC/ARMCMx/STM32L1xx/ld/STM32L152xB.ld | 13 +++++++++---- 9 files changed, 81 insertions(+), 36 deletions(-) diff --git a/os/ports/GCC/ARMCMx/LPC11xx/ld/LPC1114.ld b/os/ports/GCC/ARMCMx/LPC11xx/ld/LPC1114.ld index d5cb3ab23..6964c4467 100644 --- a/os/ports/GCC/ARMCMx/LPC11xx/ld/LPC1114.ld +++ b/os/ports/GCC/ARMCMx/LPC11xx/ld/LPC1114.ld @@ -92,10 +92,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -114,6 +117,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -126,6 +130,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4); diff --git a/os/ports/GCC/ARMCMx/LPC13xx/ld/LPC1343.ld b/os/ports/GCC/ARMCMx/LPC13xx/ld/LPC1343.ld index 1e7a7a072..cbd12b2aa 100644 --- a/os/ports/GCC/ARMCMx/LPC13xx/ld/LPC1343.ld +++ b/os/ports/GCC/ARMCMx/LPC13xx/ld/LPC1343.ld @@ -92,10 +92,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -114,6 +117,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -126,6 +130,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4); diff --git a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F100xB.ld b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F100xB.ld index 306580eaa..8045d210d 100644 --- a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F100xB.ld +++ b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F100xB.ld @@ -92,10 +92,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -114,6 +117,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -126,6 +130,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4); diff --git a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xB.ld b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xB.ld index 3ba473f16..4dd94bd7d 100644 --- a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xB.ld +++ b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xB.ld @@ -92,10 +92,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -114,6 +117,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -126,6 +130,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4); diff --git a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xE.ld b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xE.ld index cfd4502f7..c200c342b 100644 --- a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xE.ld +++ b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xE.ld @@ -92,10 +92,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -114,6 +117,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -126,6 +130,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4); diff --git a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xG.ld b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xG.ld index f4a15ebe4..614ef3187 100644 --- a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xG.ld +++ b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xG.ld @@ -92,10 +92,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -114,6 +117,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -126,6 +130,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4); diff --git a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F107xC.ld b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F107xC.ld index b750500b4..0b7604ac8 100644 --- a/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F107xC.ld +++ b/os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F107xC.ld @@ -92,10 +92,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -114,6 +117,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -126,6 +130,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4); diff --git a/os/ports/GCC/ARMCMx/STM32F4xx/ld/STM32F407xG.ld b/os/ports/GCC/ARMCMx/STM32F4xx/ld/STM32F407xG.ld index 3f2324bee..d3533a8f2 100644 --- a/os/ports/GCC/ARMCMx/STM32F4xx/ld/STM32F407xG.ld +++ b/os/ports/GCC/ARMCMx/STM32F4xx/ld/STM32F407xG.ld @@ -94,10 +94,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -116,6 +119,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -128,6 +132,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4); diff --git a/os/ports/GCC/ARMCMx/STM32L1xx/ld/STM32L152xB.ld b/os/ports/GCC/ARMCMx/STM32L1xx/ld/STM32L152xB.ld index 35a6ddabd..a4f78b500 100644 --- a/os/ports/GCC/ARMCMx/STM32L1xx/ld/STM32L152xB.ld +++ b/os/ports/GCC/ARMCMx/STM32L1xx/ld/STM32L152xB.ld @@ -92,10 +92,13 @@ SECTIONS { *(.eh_frame) } > flash - - . = ALIGN(8); - _etext = .; - _textdata = _etext; + + .endtext : ONLY_IF_RO + { + . = ALIGN(8); + _etext = .; + _textdata = _etext; + } > flash .stacks : { @@ -114,6 +117,7 @@ SECTIONS .data : { + . = ALIGN(4); PROVIDE(_data = .); *(.data) . = ALIGN(4); @@ -126,6 +130,7 @@ SECTIONS .bss : { + . = ALIGN(4); PROVIDE(_bss_start = .); *(.bss) . = ALIGN(4);