summaryrefslogtreecommitdiff
path: root/firmware/export/config.h
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-03-03 23:20:32 +0000
committerThomas Martitz <kugel@rockbox.org>2010-03-03 23:20:32 +0000
commitf8edc325896c9c24d7f32f4861a0b0d2a8b9f4cd (patch)
treeb2682307d01fffb54dd68e54b8f2e2986fe6bcc6 /firmware/export/config.h
parente479853f1542616dab56817c8f5326364b663c7c (diff)
downloadrockbox-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.h5
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")))