Standard GCC assembly startup performs next steps prior calling main:
- setup stack pointer
- call Startup_Copy_Handler procedure (C data initialization at RAM)
<HERE WE MODIFY STANDARD SEQUENCE BY INSERTED CALL OF STL_StartUp() >
- call System Init procedure and
- call __libc_init_array
- call main
The sense of GotoCompilerStartUp() macro called at the end of the STL_StartUp procedure execution ("artificially inserted" into standard assembly GCC startup flow) is to simulate repeating of the upper standard startup sequence again since begin because RAM content is destroyed completely after STL startup test. In fact, the macro should perform smooth standard restart of the C-level code and enter to the main. The only problem here is declaration of procedures defined at the assembly GCC startup flow level (normally not used from C-level).
Those are declaration warnings only. Are you able to run the code?
You can try to declare them as external at the STLparam header file.
Best regards,
Petr