summaryrefslogtreecommitdiff
path: root/apps/plugins/plugin.lds
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-01-15 18:20:18 +0000
committerJens Arnold <amiconn@rockbox.org>2006-01-15 18:20:18 +0000
commita36b1d4083e5cf34df1b217516be28471e7d0dc7 (patch)
tree629bb610d0ffcc451d3b0383f62daaed7d602603 /apps/plugins/plugin.lds
parentc7c9069ed4bda959e649520342017d826123931e (diff)
downloadrockbox-a36b1d4083e5cf34df1b217516be28471e7d0dc7.zip
rockbox-a36b1d4083e5cf34df1b217516be28471e7d0dc7.tar.gz
rockbox-a36b1d4083e5cf34df1b217516be28471e7d0dc7.tar.bz2
rockbox-a36b1d4083e5cf34df1b217516be28471e7d0dc7.tar.xz
New plugin loader. Solves the crashes introduced with the .bss changes while keeping the small binary size. The model & api version check is now part of the plugin loader. Codecs are not yet adapted, but the old method still works for them. Simulator plugins are not (yet) version-checked. API version numbering restarted, as this is an all-new system. Uses the target ID from configure, so don't change that too often.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8349 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/plugin.lds')
-rw-r--r--apps/plugins/plugin.lds13
1 files changed, 11 insertions, 2 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index c8ac88f..0626623 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -64,7 +64,13 @@ MEMORY
SECTIONS
{
- .text :
+ .header : {
+ _plugin_start_addr = .;
+ plugin_start_addr = .;
+ KEEP(*(.header))
+ } > PLUGIN_RAM
+
+ .text :
{
KEEP(*(.entry))
*(.text*)
@@ -80,7 +86,7 @@ SECTIONS
. = ALIGN(0x4);
} > PLUGIN_RAM
- .data :
+ .data :
{
*(.data*)
#if defined(ARCH_IRIVER) || defined(ARCH_IPOD) || (CONFIG_CPU==PNX0101)
@@ -118,6 +124,9 @@ SECTIONS
{
*(.bss*)
*(COMMON)
+ . = ALIGN(0x4);
+ _plugin_end_addr = .;
+ plugin_end_addr = .;
} > PLUGIN_RAM
/* Special trick to avoid a linker error when no other sections are