From 927a7bdb4b91d3a63f014824711f796e5eb4c5ba Mon Sep 17 00:00:00 2001 From: Magnus Holmgren Date: Sun, 26 Sep 2010 11:58:58 +0000 Subject: Make sure get_lif_token_value isn't inlined, as it would defeat the purpose of introducing that function. E.g., gcc 3.4.6 for m68k is keen on inlining code. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28172 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/skin_engine/skin_tokens.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index df4e7d9b1a..19a5ba5979 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c @@ -70,6 +70,8 @@ #include "tuner.h" #endif +#define NOINLINE __attribute__ ((noinline)) + extern struct wps_state wps_state; static const char* get_codectype(const struct mp3entry* id3) @@ -552,9 +554,13 @@ static struct mp3entry* get_mp3entry_from_offset(int offset, char **filename) return pid3; } -static const char* get_lif_token_value(struct gui_wps *gwps, - struct logical_if *lif, - int offset, char *buf, int buf_size) +/* Don't inline this; it was broken out of get_token_value to reduce stack + * usage. + */ +static const char* NOINLINE get_lif_token_value(struct gui_wps *gwps, + struct logical_if *lif, + int offset, char *buf, + int buf_size) { int a = lif->num_options; int b; -- cgit v1.2.3