From a36b1d4083e5cf34df1b217516be28471e7d0dc7 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Sun, 15 Jan 2006 18:20:18 +0000 Subject: 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 --- apps/plugins/plugin.lds | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'apps/plugins/plugin.lds') 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 -- cgit v1.1