Closed danielpieczko closed 2 weeks ago
The port definition error occurs with XTC 15.3.0 because platform.h
was previously included via one of the lib_xcore header files. From XTC 15.3.0, the lib_xcore header doesn't include it for us.
(Unsurprisingly) The linker failure still happens if platform.h is included.
As a simple test for compatibility between static libraries on XTC 15.2.1 and 15.3.0, I have run the simple_libs
test in xcommon_cmake where the static library was built using 15.2.1 and then the rest of the application was built and linked with the static library using 15.3.0. This works, so static libraries are not fundamentally broken between XTC versions.
This linker failure has been explained: there was a change in lib_xcore in XTC 15.3.0 which resulted in awe_main_wrapper
being inlined into the PAR_JOBS, where it previously wasn't inlined with XTC 15.2.1. When a function is inlined, the #pragma stackfunction
has no effect and so the stack size is incalculable. The workaround is to explicitly mark the relevant function as noinline
.
This is kinda nasty! good to have "resolved" though.
This job was previously working with XTC 15.2.1, but these failures have appeared after switching to 15.3.0.
Build failure in
tests/test_ffs_rpc
Linker error in
tests/test_basic