소스 검색

Update crt_init.c

Bernard Xiong 10 년 전
부모
커밋
cded27b58e
1개의 변경된 파일4개의 추가작업 그리고 8개의 파일을 삭제
  1. 4 8
      components/cplusplus/crt_init.c

+ 4 - 8
components/cplusplus/crt_init.c

@@ -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;