All linker scripts: Preface all _edata defininitions with . = ALIGN(4). Otherwise, the last bytes in the .data section may not be initialized properly. Also convert all linker scripts indent in units of 8-spaces to units of 4-spaces.

This commit is contained in:
Gregory Nutt
2019-09-15 17:22:16 -06:00
parent 0bd60c3722
commit 2925c28f8f
304 changed files with 3653 additions and 3258 deletions
+1
View File
@@ -73,6 +73,7 @@ SECTIONS
*(.data1) *(.data1)
*(.data.*) *(.data.*)
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
. = ALIGN(4);
_edata = . ; _edata = . ;
} }
+1
View File
@@ -148,6 +148,7 @@ SECTIONS
*(.dtors) *(.dtors)
_dtors_end = . ; _dtors_end = . ;
. = ALIGN(4);
_edata = . ; _edata = . ;
edata = ALIGN( 0x10 ) ; edata = ALIGN( 0x10 ) ;
} > DSPACE } > DSPACE
+1
View File
@@ -148,6 +148,7 @@ SECTIONS
*(.dtors) *(.dtors)
_dtors_end = . ; _dtors_end = . ;
. = ALIGN(4);
_edata = . ; _edata = . ;
edata = ALIGN( 0x10 ) ; edata = ALIGN( 0x10 ) ;
} > DSPACE } > DSPACE
@@ -95,6 +95,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sdram } > sdram
@@ -100,6 +100,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > ddr } > ddr
@@ -82,6 +82,7 @@ SECTIONS
_sdata = ABSOLUTE(.); _sdata = ABSOLUTE(.);
*(.data) *(.data)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} }
@@ -88,6 +88,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > ram } > ram
@@ -59,6 +59,7 @@ SECTIONS
_sdata = ABSOLUTE(.); _sdata = ABSOLUTE(.);
*(.data) *(.data)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} }
@@ -83,6 +83,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -83,6 +83,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -96,6 +97,7 @@ SECTIONS
} > sram } > sram
/* Stabs debugging sections. */ /* Stabs debugging sections. */
.stab 0 : { *(.stab) } .stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) } .stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) } .stab.excl 0 : { *(.stab.excl) }
@@ -83,6 +83,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -96,6 +97,7 @@ SECTIONS
} > sram } > sram
/* Stabs debugging sections. */ /* Stabs debugging sections. */
.stab 0 : { *(.stab) } .stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) } .stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) } .stab.excl 0 : { *(.stab.excl) }
@@ -103,6 +103,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > ddr3 } > ddr3
@@ -83,6 +83,7 @@ SECTIONS
*(.data1) *(.data1)
*(.data.*) *(.data.*)
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
. = ALIGN(4);
_edata = . ; _edata = . ;
} }
@@ -115,6 +115,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -88,6 +88,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > kocram AT > kflash } > kocram AT > kflash
@@ -104,6 +104,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > uocram AT > uflash } > uocram AT > uflash
@@ -115,6 +115,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -89,6 +89,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > kocram AT > kflash } > kocram AT > kflash
@@ -105,6 +105,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > uocram AT > uflash } > uocram AT > uflash
@@ -121,6 +121,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > ocram AT > progflash } > ocram AT > progflash
@@ -106,6 +106,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -103,6 +103,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -106,6 +106,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -106,6 +106,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -106,6 +106,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -106,6 +106,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -106,6 +106,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -129,6 +130,7 @@ SECTIONS
} > datasram } > datasram
/* Stabs debugging sections. */ /* Stabs debugging sections. */
.stab 0 : { *(.stab) } .stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) } .stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) } .stab.excl 0 : { *(.stab.excl) }
@@ -97,6 +97,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -97,6 +97,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -97,6 +97,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > datasram AT > progflash } > datasram AT > progflash
@@ -83,6 +83,7 @@ SECTIONS
*(.data1) *(.data1)
*(.data.*) *(.data.*)
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
. = ALIGN(4);
_edata = . ; _edata = . ;
} }
@@ -46,7 +46,6 @@ EXTERN(_vectors)
ENTRY(_stext) ENTRY(_stext)
SECTIONS SECTIONS
{ {
.text : { .text : {
_stext = ABSOLUTE(.); _stext = ABSOLUTE(.);
KEEP(*(.vectors)) KEEP(*(.vectors))
@@ -82,12 +81,12 @@ SECTIONS
_eronly = ABSOLUTE(LOADADDR(.data)); _eronly = ABSOLUTE(LOADADDR(.data));
.data : ALIGN(4) { .data : ALIGN(4) {
_sdata = ABSOLUTE(.); _sdata = ABSOLUTE(.);
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > progmem } > sram AT > progmem
@@ -105,6 +104,7 @@ SECTIONS
} > ramlog } > ramlog
/* Stabs debugging sections. */ /* Stabs debugging sections. */
.stab 0 : { *(.stab) } .stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) } .stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) } .stab.excl 0 : { *(.stab.excl) }
@@ -89,6 +89,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -96,6 +96,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > progmem } > sram AT > progmem
@@ -85,6 +85,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > usram AT > uflash } > usram AT > uflash
@@ -90,6 +90,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -101,7 +102,9 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
/* Stabs debugging sections. */ /* Stabs debugging sections. */
.stab 0 : { *(.stab) } .stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) } .stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) } .stab.excl 0 : { *(.stab.excl) }
@@ -82,6 +82,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > ksram AT > kflash } > ksram AT > kflash
@@ -98,6 +98,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > SRAM AT > FLASH } > SRAM AT > FLASH
@@ -83,6 +83,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > usram AT > uflash } > usram AT > uflash
@@ -82,6 +82,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > ksram AT > kflash } > ksram AT > kflash
@@ -98,6 +98,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > SRAM AT > FLASH } > SRAM AT > FLASH
@@ -83,6 +83,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > usram AT > uflash } > usram AT > uflash
@@ -90,6 +90,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -83,6 +83,7 @@ SECTIONS
*(.data1) *(.data1)
*(.data.*) *(.data.*)
*(.gnu.linkonce.d*) *(.gnu.linkonce.d*)
. = ALIGN(4);
_edata = . ; _edata = . ;
} }
@@ -81,6 +81,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > ksram AT > kflash } > ksram AT > kflash
@@ -101,6 +101,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > SRAM AT > FLASH } > SRAM AT > FLASH
@@ -99,6 +99,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > SRAM AT > FLASH } > SRAM AT > FLASH
@@ -103,6 +103,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > SRAM AT > SDRAM } > SRAM AT > SDRAM
@@ -82,6 +82,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > usram AT > uflash } > usram AT > uflash
@@ -90,6 +90,7 @@ SECTIONS
*(.data .data.*) *(.data .data.*)
*(.gnu.linkonce.d.*) *(.gnu.linkonce.d.*)
CONSTRUCTORS CONSTRUCTORS
. = ALIGN(4);
_edata = ABSOLUTE(.); _edata = ABSOLUTE(.);
} > sram AT > flash } > sram AT > flash
@@ -101,7 +102,9 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_ebss = ABSOLUTE(.); _ebss = ABSOLUTE(.);
} > sram } > sram
/* Stabs debugging sections. */ /* Stabs debugging sections. */
.stab 0 : { *(.stab) } .stab 0 : { *(.stab) }
.stabstr 0 : { *(.stabstr) } .stabstr 0 : { *(.stabstr) }
.stab.excl 0 : { *(.stab.excl) } .stab.excl 0 : { *(.stab.excl) }

Some files were not shown because too many files have changed in this diff Show More