Workaround linking problem caused by missing SystemInit during build
During LiteOS consolidation, system_init.o object that contains SystemInit() doesn't exist yet as it is being built later and linked in ./vendor directory when OHOS_Image is created. This is not the case when building for HiSilicon platforms as SystemInit is provided for them in precompiled libraries. Workaround this issue by creating "weak" function in LiteOS that will be replaced by the "strong" symbol from ./vendor in linking phase of the OHOS_Image. Signed-off-by: Zbigniew Bodek <zbigniew.bodek@huawei.com> Change-Id: I39f327a350722a3e41a370ee93ba3b734c5681b0
This commit is contained in:
parent
669221b620
commit
850a566916
|
@ -132,6 +132,11 @@ extern "C" {
|
||||||
extern UINT32 OsSystemInit(VOID);
|
extern UINT32 OsSystemInit(VOID);
|
||||||
extern VOID SystemInit(VOID);
|
extern VOID SystemInit(VOID);
|
||||||
|
|
||||||
|
VOID __attribute__((weak)) SystemInit(VOID)
|
||||||
|
{
|
||||||
|
PRINT_WARN("Function not implemented. Using weak reference stub\n");
|
||||||
|
}
|
||||||
|
|
||||||
LITE_OS_SEC_TEXT_INIT VOID osRegister(VOID)
|
LITE_OS_SEC_TEXT_INIT VOID osRegister(VOID)
|
||||||
{
|
{
|
||||||
g_sysClock = OS_SYS_CLOCK;
|
g_sysClock = OS_SYS_CLOCK;
|
||||||
|
|
Loading…
Reference in New Issue