diff options
author | Boris Gjenero <dreamlayers@rockbox.org> | 2011-11-22 17:34:01 +0000 |
---|---|---|
committer | Boris Gjenero <dreamlayers@rockbox.org> | 2011-11-22 17:34:01 +0000 |
commit | e62dfa5225a1773350bcf2236dc6516bdfc694d2 (patch) | |
tree | f5e2e80b14e8e021852b822b77f8ec075da3fafe /firmware/target | |
parent | 706575f04bd4d6372fd4779d9052f506253f18ca (diff) | |
download | rockbox-e62dfa5225a1773350bcf2236dc6516bdfc694d2.tar.gz rockbox-e62dfa5225a1773350bcf2236dc6516bdfc694d2.zip |
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
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/imx31/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/ipod/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/iriver/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/olympus/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/pbell/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/philips/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/pnx0101/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/samsung/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/sandisk/app.lds | 10 | ||||
-rw-r--r-- | firmware/target/arm/tatung/app.lds | 10 | ||||
-rw-r--r-- | 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 | |||
60 | *(.rodata.str1.4) | 60 | *(.rodata.str1.4) |
61 | *(.irodata) | 61 | *(.irodata) |
62 | . = ALIGN(0x4); | 62 | . = ALIGN(0x4); |
63 | |||
64 | /* Pseudo-allocate the copies of the data sections */ | ||
65 | _datacopy = .; | ||
66 | } > DRAM | 63 | } > DRAM |
67 | 64 | ||
68 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 65 | .data : |
69 | same load address as the copy. Thus, we don't waste extra RAM | ||
70 | when we don't actually need the copy. */ | ||
71 | .data : AT ( _datacopy ) | ||
72 | { | 66 | { |
73 | _datastart = .; | ||
74 | *(.data*) | 67 | *(.data*) |
75 | *(.idata) | 68 | *(.idata) |
76 | . = ALIGN(0x4); | 69 | . = ALIGN(0x4); |
77 | _dataend = .; | ||
78 | } > DRAM | 70 | } > DRAM |
79 | 71 | ||
80 | #if 0 /* Unneeded at the moment */ | 72 | #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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | #if NOCACHE_BASE != 0 | 67 | #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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | #if NOCACHE_BASE != 0 | 67 | #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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | #if NOCACHE_BASE != 0 | 67 | #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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | #if NOCACHE_BASE != 0 | 67 | #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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | #if NOCACHE_BASE != 0 | 67 | #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 | |||
57 | *(.rodata.str1.1) | 57 | *(.rodata.str1.1) |
58 | *(.rodata.str1.4) | 58 | *(.rodata.str1.4) |
59 | . = ALIGN(0x4); | 59 | . = ALIGN(0x4); |
60 | |||
61 | /* Pseudo-allocate the copies of the data sections */ | ||
62 | _datacopy = .; | ||
63 | } > DRAM | 60 | } > DRAM |
64 | 61 | ||
65 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 62 | .data : |
66 | same load address as the copy. Thus, we don't waste extra RAM | ||
67 | when we don't actually need the copy. */ | ||
68 | .data : AT ( _datacopy ) | ||
69 | { | 63 | { |
70 | _datastart = .; | ||
71 | *(.data*) | 64 | *(.data*) |
72 | . = ALIGN(0x4); | 65 | . = ALIGN(0x4); |
73 | _dataend = .; | ||
74 | } > DRAM | 66 | } > DRAM |
75 | 67 | ||
76 | /DISCARD/ : | 68 | /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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | #if NOCACHE_BASE != 0 | 67 | #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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | #if NOCACHE_BASE != 0 | 67 | #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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | #if NOCACHE_BASE != 0 | 67 | #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 | |||
56 | *(.rodata.str1.1) | 56 | *(.rodata.str1.1) |
57 | *(.rodata.str1.4) | 57 | *(.rodata.str1.4) |
58 | . = ALIGN(0x4); | 58 | . = ALIGN(0x4); |
59 | |||
60 | /* Pseudo-allocate the copies of the data sections */ | ||
61 | _datacopy = .; | ||
62 | } > DRAM | 59 | } > DRAM |
63 | 60 | ||
64 | /* TRICK ALERT! For RAM execution, we put the .data section at the | 61 | .data : |
65 | same load address as the copy. Thus, we don't waste extra RAM | ||
66 | when we don't actually need the copy. */ | ||
67 | .data : AT ( _datacopy ) | ||
68 | { | 62 | { |
69 | _datastart = .; | ||
70 | *(.data*) | 63 | *(.data*) |
71 | . = ALIGN(0x4); | 64 | . = ALIGN(0x4); |
72 | _dataend = .; | ||
73 | } > DRAM | 65 | } > DRAM |
74 | 66 | ||
75 | /DISCARD/ : | 67 | /DISCARD/ : |