diff options
author | Jens Arnold <amiconn@rockbox.org> | 2006-01-08 22:50:14 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2006-01-08 22:50:14 +0000 |
commit | 07c4254135aecc6ae0964d6d6413a40251e8f6a8 (patch) | |
tree | dac473efeb9f49cb6fefeb43c053f2dd0dc1b6cc /apps/plugins/plugin.lds | |
parent | e8b1787296dae2a69893bd0fe97b2361fb6180ba (diff) | |
download | rockbox-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.lds | 48 |
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 | ||
61 | SECTIONS | 61 | SECTIONS |
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 | } |