mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-01-18 17:13:32 +08:00
Update crt_init.c
This commit is contained in:
parent
0e18dfede7
commit
cded27b58e
@ -51,14 +51,14 @@ int cplusplus_system_init(void)
|
||||
(*ctors_func)();
|
||||
}
|
||||
#elif defined(__CC_ARM)
|
||||
# if 1
|
||||
/* If there is no SHT$$INIT_ARRAY, calling
|
||||
* $Super$$__cpp_initialize__aeabi_() will fault. At least until Keil5.12
|
||||
* the problem still exists. So we have to initialize the C++ runtime our
|
||||
* own. */
|
||||
* $Super$$__cpp_initialize__aeabi_() will cause fault. At least until Keil5.12
|
||||
* the problem still exists. So we have to initialize the C++ runtime by ourself.
|
||||
*/
|
||||
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;
|
||||
|
||||
@ -67,10 +67,6 @@ int cplusplus_system_init(void)
|
||||
PROC *proc = (PROC*)((const char*)base + *base);
|
||||
(*proc)();
|
||||
}
|
||||
# else
|
||||
/* call armcc lib to initialize cplusplus */
|
||||
$Super$$__cpp_initialize__aeabi_();
|
||||
# endif
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user