summaryrefslogtreecommitdiff
path: root/apps/plugins/plugin.lds
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-05-10 22:03:45 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-05-10 22:03:45 +0000
commit209aa8eda5b5c7cecde65885e6beaf37c92ba622 (patch)
tree6beddeac6d9714732931b211c2d4cd84ce5db920 /apps/plugins/plugin.lds
parentab15fa7e00a4d98685dba186125d0805d1deb22c (diff)
downloadrockbox-209aa8eda5b5c7cecde65885e6beaf37c92ba622.zip
rockbox-209aa8eda5b5c7cecde65885e6beaf37c92ba622.tar.gz
rockbox-209aa8eda5b5c7cecde65885e6beaf37c92ba622.tar.bz2
rockbox-209aa8eda5b5c7cecde65885e6beaf37c92ba622.tar.xz
Real fake IRAM by placing .i.... section in the analagous DRAM sections in the linker scripts that hasn't done this yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17449 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/plugin.lds')
-rw-r--r--apps/plugins/plugin.lds22
1 files changed, 16 insertions, 6 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index 92365c6..13a048a 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -63,14 +63,12 @@ OUTPUT_FORMAT(elf32-sh)
#define IRAMSIZE 0x9000
#elif CONFIG_CPU == S3C2440
#define DRAMORIG 0x0 + STUBOFFSET
-#define IRAMORIG DRAMORIG
-#define IRAMSIZE 4K
#define IRAM DRAM
+#define IRAMSIZE 0
#elif CONFIG_CPU == IMX31L
#define DRAMORIG 0x0 + STUBOFFSET
-#define IRAMORIG DRAMORIG
-#define IRAMSIZE 0x4000
#define IRAM DRAM
+#define IRAMSIZE 0
#elif CONFIG_CPU==DM320
#define DRAMORIG 0x00900000 + STUBOFFSET
#define IRAMORIG DRAMORIG
@@ -100,7 +98,7 @@ OUTPUT_FORMAT(elf32-sh)
MEMORY
{
PLUGIN_RAM : ORIGIN = THIS_ORIGIN, LENGTH = THIS_LENGTH
-#if defined(IRAMSIZE)
+#if defined(IRAMSIZE) && IRAMSIZE != 0
PLUGIN_IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
#endif
}
@@ -116,6 +114,9 @@ SECTIONS
.text :
{
*(.text*)
+#if defined(IRAMSIZE) && IRAMSIZE == 0
+ *(.icode)
+#endif
#ifdef CPU_ARM
*(.glue_7)
*(.glue_7t)
@@ -125,12 +126,18 @@ SECTIONS
.rodata :
{
*(.rodata*)
+#if defined(IRAMSIZE) && IRAMSIZE == 0
+ *(.irodata)
+#endif
. = ALIGN(0x4);
} > PLUGIN_RAM
.data :
{
*(.data*)
+#if defined(IRAMSIZE) && IRAMSIZE == 0
+ *(.idata)
+#endif
} > PLUGIN_RAM
#if NOCACHE_BASE != 0
@@ -151,7 +158,7 @@ SECTIONS
*(.eh_frame)
}
-#if defined(IRAMSIZE)
+#if defined(IRAMSIZE) && IRAMSIZE != 0
.iram IRAMORIG : AT ( iramcopy)
{
iramstart = .;
@@ -175,6 +182,9 @@ SECTIONS
{
plugin_bss_start = .;
*(.bss*)
+#if defined(IRAMSIZE) && IRAMSIZE == 0
+ *(.ibss)
+#endif
*(COMMON)
. = ALIGN(0x4);
} > PLUGIN_RAM