summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2016-07-13 09:37:04 +0800
committerBernard Xiong <[email protected]>2016-07-13 09:37:51 +0800
commit60e36defc46fa0afe5a697f6aa6ec7a180a01bb6 (patch)
tree5720d2f1f080519f1c7a77f4551c2e9f87c454a4 /components
parent477857d38d898b545ea2b3298b2bebd23d13a0aa (diff)
[libc] Add CodeSourcery G++ lite check.
Diffstat (limited to 'components')
-rw-r--r--components/cplusplus/crt_init.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/components/cplusplus/crt_init.c b/components/cplusplus/crt_init.c
index c8144027eb..0f89b35636 100644
--- a/components/cplusplus/crt_init.c
+++ b/components/cplusplus/crt_init.c
@@ -31,14 +31,15 @@ extern void $Super$$__cpp_initialize__aeabi_(void);
/* we need to change the cpp_initialize order */
void $Sub$$__cpp_initialize__aeabi_(void)
{
- /* empty */
+ /* empty */
}
-#elif defined(__GNUC__)
+#elif defined(__GNUC__) && !defined(__CS_SOURCERYGXX_MAJ__)
+/* The _init()/_fini() routines has been defined in codesourcery g++ lite */
void _init()
{
}
-void _fini()
+void _fini()
{
}
#endif
@@ -67,7 +68,7 @@ int cplusplus_system_init(void)
typedef void PROC();
extern const unsigned long SHT$$INIT_ARRAY$$Base[];
extern const unsigned long SHT$$INIT_ARRAY$$Limit[];
-
+
const unsigned long *base = SHT$$INIT_ARRAY$$Base;
const unsigned long *lim = SHT$$INIT_ARRAY$$Limit;