diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2010-03-03 23:20:32 +0000 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2010-03-03 23:20:32 +0000 |
| commit | f8edc325896c9c24d7f32f4861a0b0d2a8b9f4cd (patch) | |
| tree | b2682307d01fffb54dd68e54b8f2e2986fe6bcc6 /firmware/export/config.h | |
| parent | e479853f1542616dab56817c8f5326364b663c7c (diff) | |
| download | rockbox-f8edc325896c9c24d7f32f4861a0b0d2a8b9f4cd.zip rockbox-f8edc325896c9c24d7f32f4861a0b0d2a8b9f4cd.tar.gz rockbox-f8edc325896c9c24d7f32f4861a0b0d2a8b9f4cd.tar.bz2 rockbox-f8edc325896c9c24d7f32f4861a0b0d2a8b9f4cd.tar.xz | |
FS#10756 - Free unused init code
Introduce a new .init section for initialisation code, so that it can be copied to an area which is later overwritten before calling. The stack/bss can then overwrite that code, effectively freeing the code size that the initialisation routines need. Gives a few kB ram usage back.
Only implemented for PP and as3525 so far. More targets could be added, as well as more functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25013 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/config.h')
| -rw-r--r-- | firmware/export/config.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h index c7ddbfc..06003b4 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h @@ -747,6 +747,11 @@ Lyre prototype 1 */ #define IBSS_ATTR #define STATICIRAM static #endif +#if (defined(CPU_PP) || (CONFIG_CPU == AS3525)) && !defined(SIMULATOR) +#define INIT_ATTR __attribute__ ((section(".init"))) +#else +#define INIT_ATTR +#endif #if defined(SIMULATOR) && defined(__APPLE__) #define DATA_ATTR __attribute__ ((section("__DATA, .data"))) |