This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Problem with Compiler/linker Generating code for indirect function pointers

void sys_startup_init(BOOL8 shutdown)
{
//
// Check for operating mode
//
if (!shutdown)
{
// setup MMU
shutdown = (*isys_startup_mmu_init)(shutdown);



....
}

// Shutdown if mode is not normal
....
}

The sys_startup_init function is entered from assembly code.

The code shutdown = (*isys_startup_mmu_init)(shutdown);
function pointer is where the code execution is incorrect.


Changing the function to :
void sys_startup_mmu_init(void)

results in the correct code being executed. However is not possible to change all the indirect function calls in this manner, so this is not a feasible solution.

C compiler version: 7.07h

Parents Reply Children
No data