diff options
author | Andrew Mahone <andrew.mahone@gmail.com> | 2009-11-20 07:38:57 +0000 |
---|---|---|
committer | Andrew Mahone <andrew.mahone@gmail.com> | 2009-11-20 07:38:57 +0000 |
commit | 19eb26a2d75c6af6eb08bc22c72d269a9b198eb5 (patch) | |
tree | 41a6ef80d9b12e61ed776c5f777ba4dfb349121c /apps | |
parent | 6ec176cc8ed0dc3816ff8d19190bf817d8c18ba5 (diff) | |
download | rockbox-19eb26a2d75c6af6eb08bc22c72d269a9b198eb5.tar.gz rockbox-19eb26a2d75c6af6eb08bc22c72d269a9b198eb5.zip |
Fix codec and plugin issues on ARM EABI caused by .iram sometimes being assigned an incorrect load address.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23674 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/plugins/plugin.lds | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds index 6b608fcc70..fcfbf3bfe0 100644 --- a/apps/plugins/plugin.lds +++ b/apps/plugins/plugin.lds | |||
@@ -231,11 +231,16 @@ SECTIONS | |||
231 | . = ALIGN(CACHEALIGN_SIZE); | 231 | . = ALIGN(CACHEALIGN_SIZE); |
232 | *(.ncdata*) | 232 | *(.ncdata*) |
233 | . = ALIGN(CACHEALIGN_SIZE); | 233 | . = ALIGN(CACHEALIGN_SIZE); |
234 | } AT> PLUGIN_RAM | 234 | /* EABI currently needs iramcopy defined here, otherwise .iram can sometimes |
235 | #endif | 235 | have an incorrect load address, breaking codecs. */ |
236 | |||
237 | #if defined(IRAMSIZE) | 236 | #if defined(IRAMSIZE) |
238 | iramcopy = . - NOCACHE_BASE; | 237 | iramcopy = . - NOCACHE_BASE; |
238 | #endif | ||
239 | } AT> PLUGIN_RAM | ||
240 | /* This definition is used when NOCACHE_BASE is 0. The address offset bug only | ||
241 | seems to occur when the empty .ncdata is present. */ | ||
242 | #elif defined(IRAMSIZE) | ||
243 | iramcopy = .; | ||
239 | #endif | 244 | #endif |
240 | 245 | ||
241 | /DISCARD/ : | 246 | /DISCARD/ : |