kernel/eka/kernel/arm/k_entry.cia
branchGCCE_COMPATIBILITY
changeset 3 9a3ffdc955cd
parent 0 a41df078684a
equal deleted inserted replaced
2:2fa1cc9bce0b 3:9a3ffdc955cd
    69 	asm("b KernelMain ");
    69 	asm("b KernelMain ");
    70 
    70 
    71 	asm("__CtorList: ");
    71 	asm("__CtorList: ");
    72 	asm(".word __CTOR_LIST__ ");
    72 	asm(".word __CTOR_LIST__ ");
    73 	}
    73 	}
    74 #elif defined(__ARMCC__)
    74 #elif defined(__EABI__)
    75 void __DLL_Export_Table__(void);
    75 void __DLL_Export_Table__(void);
    76 void __cpp_initialize__aeabi_();
    76 void __cpp_initialize__aeabi_();
    77   
    77   
    78 // The compiler generates calls to this when it reckons a top-level construction
    78 // The compiler generates calls to this when it reckons a top-level construction
    79 // needs destruction. But the kernel never will need this so, define it as a nop
    79 // needs destruction. But the kernel never will need this so, define it as a nop
    80 void __record_needed_destruction (void * d){}
    80 void __record_needed_destruction (void * d){}
    81 // 2.1 calls __aeabi_atexit passing __dso_handle. This can be a dummy (i.e. just a label)
    81 // 2.1 calls __aeabi_atexit passing __dso_handle. This can be a dummy (i.e. just a label)
    82 
    82 
    83 __asm void __dso_handle(void) {}
    83 __NAKED__ void __dso_handle(void) {}
    84 void __aeabi_atexit(void *object, void (*dtor)(void *), void *handle){}
    84 void __aeabi_atexit(void *object, void (*dtor)(void *), void *handle){}
    85 
    85 
    86 void _E32Startup_Body(TLinAddr aRomHeader, TLinAddr aSuperPage);
    86 void _E32Startup_Body(TLinAddr aRomHeader, TLinAddr aSuperPage);
    87 
    87 
    88 __NAKED__ void _E32Startup(TLinAddr aRomHeader, TLinAddr aSuperPage)
    88 __NAKED__ void _E32Startup(TLinAddr aRomHeader, TLinAddr aSuperPage)