summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorBoris Gjenero <dreamlayers@rockbox.org>2012-10-22 21:30:01 +0200
committerMarcin Bukat <marcin.bukat@gmail.com>2012-10-24 14:02:41 +0200
commitc975de1534f4b4092ad75f85353eec32a9a31b92 (patch)
tree611c581d6ce81b6575f8b20ec8cd795e85ccb298 /apps
parent8ad8473d814c4ce4db62d35759939f1fae146361 (diff)
downloadrockbox-c975de1534f4b4092ad75f85353eec32a9a31b92.zip
rockbox-c975de1534f4b4092ad75f85353eec32a9a31b92.tar.gz
rockbox-c975de1534f4b4092ad75f85353eec32a9a31b92.tar.bz2
rockbox-c975de1534f4b4092ad75f85353eec32a9a31b92.tar.xz
SH gcc 4.6.3 with link-time optimization, for Archos targets
This is work from FS#12431 synced to current HEAD and slightly tweaked (gcc 4.6.2 -> 4.6.3, binutils 2.21.1 -> 2.22) Change-Id: I76af91e80ac2a9c16a776c7f0a33cc51603bbf9b
Diffstat (limited to 'apps')
-rw-r--r--apps/plugin.h4
-rw-r--r--apps/plugins/lib/gcc-support.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/apps/plugin.h b/apps/plugin.h
index bb27781..ad726d6 100644
--- a/apps/plugin.h
+++ b/apps/plugin.h
@@ -974,9 +974,9 @@ struct plugin_header {
extern unsigned char plugin_start_addr[];
extern unsigned char plugin_end_addr[];
#define PLUGIN_HEADER \
- const struct plugin_api *rb DATA_ATTR; \
+ const struct plugin_api *rb DATA_ATTR USED_ATTR; \
const struct plugin_header __header \
- __attribute__ ((section (".header")))= { \
+ __attribute__ ((section (".header"))) USED_ATTR = { \
{ PLUGIN_MAGIC, TARGET_ID, PLUGIN_API_VERSION, \
plugin_start_addr, plugin_end_addr }, plugin__start, &rb };
#else /* PLATFORM_HOSTED */
diff --git a/apps/plugins/lib/gcc-support.c b/apps/plugins/lib/gcc-support.c
index 09a08fa..156dbf9 100644
--- a/apps/plugins/lib/gcc-support.c
+++ b/apps/plugins/lib/gcc-support.c
@@ -29,22 +29,22 @@ void __attribute__((naked)) __div0(void)
}
#endif
-void *memcpy(void *dest, const void *src, size_t n)
+void USED_ATTR *memcpy(void *dest, const void *src, size_t n)
{
return rb->memcpy(dest, src, n);
}
-void *memset(void *dest, int c, size_t n)
+void USED_ATTR *memset(void *dest, int c, size_t n)
{
return rb->memset(dest, c, n);
}
-void *memmove(void *dest, const void *src, size_t n)
+void USED_ATTR *memmove(void *dest, const void *src, size_t n)
{
return rb->memmove(dest, src, n);
}
-int memcmp(const void *s1, const void *s2, size_t n)
+int USED_ATTR memcmp(const void *s1, const void *s2, size_t n)
{
return rb->memcmp(s1, s2, n);
}