summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Gjenero <dreamlayers@rockbox.org>2011-11-22 17:34:01 +0000
committerBoris Gjenero <dreamlayers@rockbox.org>2011-11-22 17:34:01 +0000
commite62dfa5225a1773350bcf2236dc6516bdfc694d2 (patch)
treef5e2e80b14e8e021852b822b77f8ec075da3fafe
parent706575f04bd4d6372fd4779d9052f506253f18ca (diff)
downloadrockbox-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
-rw-r--r--firmware/target/arm/imx31/app.lds10
-rw-r--r--firmware/target/arm/ipod/app.lds10
-rw-r--r--firmware/target/arm/iriver/app.lds10
-rw-r--r--firmware/target/arm/olympus/app.lds10
-rw-r--r--firmware/target/arm/pbell/app.lds10
-rw-r--r--firmware/target/arm/philips/app.lds10
-rw-r--r--firmware/target/arm/pnx0101/app.lds10
-rw-r--r--firmware/target/arm/samsung/app.lds10
-rw-r--r--firmware/target/arm/sandisk/app.lds10
-rw-r--r--firmware/target/arm/tatung/app.lds10
-rw-r--r--firmware/target/arm/tcc780x/app.lds10
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/ :