summaryrefslogtreecommitdiff
path: root/apps/plugins/plugin.lds
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2006-01-08 22:50:14 +0000
committerJens Arnold <amiconn@rockbox.org>2006-01-08 22:50:14 +0000
commit07c4254135aecc6ae0964d6d6413a40251e8f6a8 (patch)
treedac473efeb9f49cb6fefeb43c053f2dd0dc1b6cc /apps/plugins/plugin.lds
parente8b1787296dae2a69893bd0fe97b2361fb6180ba (diff)
downloadrockbox-07c4254135aecc6ae0964d6d6413a40251e8f6a8.tar.gz
rockbox-07c4254135aecc6ae0964d6d6413a40251e8f6a8.zip
Don't include the .bss and .ibss sections in the binary image for codecs and plugins. Saves quite some disk space (and buffer space in case of codec changes during playback).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8308 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/plugin.lds')
-rw-r--r--apps/plugins/plugin.lds48
1 files changed, 32 insertions, 16 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds
index 83825b9035..fc9d4d4efe 100644
--- a/apps/plugins/plugin.lds
+++ b/apps/plugins/plugin.lds
@@ -60,7 +60,8 @@ MEMORY
60 60
61SECTIONS 61SECTIONS
62{ 62{
63 .text : { 63 .text :
64 {
64 KEEP(*(.entry)) 65 KEEP(*(.entry))
65 *(.text*) 66 *(.text*)
66#if CONFIG_CPU==PP5020 67#if CONFIG_CPU==PP5020
@@ -69,26 +70,25 @@ SECTIONS
69#endif 70#endif
70 } > PLUGIN_RAM 71 } > PLUGIN_RAM
71 72
72 .data : { 73 .rodata :
73 *(.data*) 74 {
74 } > PLUGIN_RAM
75
76 /DISCARD/ : {
77 *(.eh_frame)
78 }
79
80 .bss : {
81 *(.bss*)
82 } > PLUGIN_RAM
83
84 .rodata : {
85 *(.rodata*) 75 *(.rodata*)
86 . = ALIGN(0x4); 76 . = ALIGN(0x4);
77 } > PLUGIN_RAM
78
79 .data :
80 {
81 *(.data*)
87#if defined(ARCH_IRIVER) || defined(ARCH_IPOD) 82#if defined(ARCH_IRIVER) || defined(ARCH_IPOD)
88 iramcopy = .; 83 iramcopy = .;
89#endif 84#endif
90 } > PLUGIN_RAM 85 } > PLUGIN_RAM
91 86
87 /DISCARD/ :
88 {
89 *(.eh_frame)
90 }
91
92#if defined(ARCH_IRIVER) || defined(ARCH_IPOD) 92#if defined(ARCH_IRIVER) || defined(ARCH_IPOD)
93 .iram IRAMORIG : AT ( iramcopy) 93 .iram IRAMORIG : AT ( iramcopy)
94 { 94 {
@@ -96,13 +96,29 @@ SECTIONS
96 *(.icode) 96 *(.icode)
97 *(.irodata) 97 *(.irodata)
98 *(.idata) 98 *(.idata)
99 *(.ibss)
100 iramend = .; 99 iramend = .;
101 } > PLUGIN_IRAM 100 } > PLUGIN_IRAM
101
102 .ibss (NOLOAD) :
103 {
104 iedata = .;
105 *(.ibss)
106 . = ALIGN(0x4);
107 iend = .;
108 } > PLUGIN_IRAM
109
110 .bss ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram):
111#else
112 .bss :
102#endif 113#endif
114 {
115 *(.bss*)
116 } > PLUGIN_RAM
117
103 /* Special trick to avoid a linker error when no other sections are 118 /* Special trick to avoid a linker error when no other sections are
104 left after garbage collection (plugin not for this platform) */ 119 left after garbage collection (plugin not for this platform) */
105 .comment 0 : { 120 .comment 0 :
121 {
106 KEEP(*(.comment)) 122 KEEP(*(.comment))
107 } 123 }
108} 124}