From e62dfa5225a1773350bcf2236dc6516bdfc694d2 Mon Sep 17 00:00:00 2001 From: Boris Gjenero Date: Tue, 22 Nov 2011 17:34:01 +0000 Subject: FS#12397 : On targets which load .data directly into its final location and lack code for moving it, remove linker script trick which ignores section alignment and word-aligns the section instead. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31041 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/imx31/app.lds | 10 +--------- firmware/target/arm/ipod/app.lds | 10 +--------- firmware/target/arm/iriver/app.lds | 10 +--------- firmware/target/arm/olympus/app.lds | 10 +--------- firmware/target/arm/pbell/app.lds | 10 +--------- firmware/target/arm/philips/app.lds | 10 +--------- firmware/target/arm/pnx0101/app.lds | 10 +--------- firmware/target/arm/samsung/app.lds | 10 +--------- firmware/target/arm/sandisk/app.lds | 10 +--------- firmware/target/arm/tatung/app.lds | 10 +--------- firmware/target/arm/tcc780x/app.lds | 10 +--------- 11 files changed, 11 insertions(+), 99 deletions(-) diff --git a/firmware/target/arm/imx31/app.lds b/firmware/target/arm/imx31/app.lds index 0325f89b66..60187fe433 100644 --- a/firmware/target/arm/imx31/app.lds +++ b/firmware/target/arm/imx31/app.lds @@ -60,21 +60,13 @@ SECTIONS *(.rodata.str1.4) *(.irodata) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) *(.idata) . = ALIGN(0x4); - _dataend = .; } > DRAM #if 0 /* Unneeded at the moment */ diff --git a/firmware/target/arm/ipod/app.lds b/firmware/target/arm/ipod/app.lds index 3fe08feddd..9c7eb16391 100644 --- a/firmware/target/arm/ipod/app.lds +++ b/firmware/target/arm/ipod/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM #if NOCACHE_BASE != 0 diff --git a/firmware/target/arm/iriver/app.lds b/firmware/target/arm/iriver/app.lds index de355c30b0..a98f33dd9f 100644 --- a/firmware/target/arm/iriver/app.lds +++ b/firmware/target/arm/iriver/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM #if NOCACHE_BASE != 0 diff --git a/firmware/target/arm/olympus/app.lds b/firmware/target/arm/olympus/app.lds index de355c30b0..a98f33dd9f 100644 --- a/firmware/target/arm/olympus/app.lds +++ b/firmware/target/arm/olympus/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM #if NOCACHE_BASE != 0 diff --git a/firmware/target/arm/pbell/app.lds b/firmware/target/arm/pbell/app.lds index de355c30b0..a98f33dd9f 100644 --- a/firmware/target/arm/pbell/app.lds +++ b/firmware/target/arm/pbell/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM #if NOCACHE_BASE != 0 diff --git a/firmware/target/arm/philips/app.lds b/firmware/target/arm/philips/app.lds index de355c30b0..a98f33dd9f 100644 --- a/firmware/target/arm/philips/app.lds +++ b/firmware/target/arm/philips/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM #if NOCACHE_BASE != 0 diff --git a/firmware/target/arm/pnx0101/app.lds b/firmware/target/arm/pnx0101/app.lds index 6464b0d608..3b7b73c7b0 100644 --- a/firmware/target/arm/pnx0101/app.lds +++ b/firmware/target/arm/pnx0101/app.lds @@ -57,20 +57,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM /DISCARD/ : diff --git a/firmware/target/arm/samsung/app.lds b/firmware/target/arm/samsung/app.lds index de355c30b0..a98f33dd9f 100644 --- a/firmware/target/arm/samsung/app.lds +++ b/firmware/target/arm/samsung/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM #if NOCACHE_BASE != 0 diff --git a/firmware/target/arm/sandisk/app.lds b/firmware/target/arm/sandisk/app.lds index de355c30b0..a98f33dd9f 100644 --- a/firmware/target/arm/sandisk/app.lds +++ b/firmware/target/arm/sandisk/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM #if NOCACHE_BASE != 0 diff --git a/firmware/target/arm/tatung/app.lds b/firmware/target/arm/tatung/app.lds index cda0190809..a00d5f1f2e 100644 --- a/firmware/target/arm/tatung/app.lds +++ b/firmware/target/arm/tatung/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM #if NOCACHE_BASE != 0 diff --git a/firmware/target/arm/tcc780x/app.lds b/firmware/target/arm/tcc780x/app.lds index 9d5570a487..e84ea05de7 100644 --- a/firmware/target/arm/tcc780x/app.lds +++ b/firmware/target/arm/tcc780x/app.lds @@ -56,20 +56,12 @@ SECTIONS *(.rodata.str1.1) *(.rodata.str1.4) . = ALIGN(0x4); - - /* Pseudo-allocate the copies of the data sections */ - _datacopy = .; } > DRAM - /* TRICK ALERT! For RAM execution, we put the .data section at the - same load address as the copy. Thus, we don't waste extra RAM - when we don't actually need the copy. */ - .data : AT ( _datacopy ) + .data : { - _datastart = .; *(.data*) . = ALIGN(0x4); - _dataend = .; } > DRAM /DISCARD/ : -- cgit v1.2.3