2023-09-19 04:06 PM
After updating to STM32CubeIDE 1.13.2, and updating my workspace, I'm suddenly getting warnings when compiling the STM32_WPAN SHCI library, followed by a handful of linker errors. The warnings are all in `shci.c` and look like this:
Project/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c: In function 'SHCI_C2_FUS_GetState':
Project/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c:57:98: warning: array subscript 'TL_CcEvt_t[0]' is partly outside array bounds of 'uint8_t[16]' {aka 'unsigned char[16]'} [-Warray-bounds]
57 | *p_error_code = (SHCI_FUS_GetState_ErrorCode_t)(((TL_CcEvt_t*)(p_rsp->evtserial.evt.payload))->payload[1]);
| ^~
Project/Middlewares/ST/STM32_WPAN/interface/patterns/ble_thread/shci/shci.c:45:11: note: while referencing 'local_buffer'
45 | uint8_t local_buffer[TL_BLEEVT_CS_BUFFER_SIZE + 1];
| ^~~~~~~~~~~~
The linker errors look like this:
C:/ST/STM32CubeIDE_1.6.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/ST/STM32CubeIDE_1.6.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/softfp\libc_nano.a(libc_a-closer.o): in function `_close_r':
(.text._close_r+0xc): warning: _close is not implemented and will always fail
C:/ST/STM32CubeIDE_1.6.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/ST/STM32CubeIDE_1.6.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/softfp\libc_nano.a(libc_a-lseekr.o): in function `_lseek_r':
(.text._lseek_r+0x10): warning: _lseek is not implemented and will always fail
C:/ST/STM32CubeIDE_1.6.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/ST/STM32CubeIDE_1.6.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/softfp\libc_nano.a(libc_a-readr.o): in function `_read_r':
(.text._read_r+0x10): warning: _read is not implemented and will always fail
C:/ST/STM32CubeIDE_1.6.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/bin/ld.exe: C:/ST/STM32CubeIDE_1.6.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.1.202309131626/tools/bin/../lib/gcc/arm-none-eabi/11.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/softfp\libc_nano.a(libc_a-writer.o): in function `_write_r':
(.text._write_r+0x10): warning: _write is not implemented and will always fail
Any idea what's going on here? As far as I know, I've made no changes to the project since it last compiled without issues.
Solved! Go to Solution.
2023-09-20 12:43 AM
Hello @crwper ,
I think you have the same issue shared in this post.
Please try to use this workaround:
Go to Windows > Preferences
Open the tab Error Parsers into C/C++ > Build > Settings
Select GNU Linker Error Parser, double click on the pattern for the 1st severity Ignore
Changer :
(.*?):?(\(\.[^\s+]+\+.*\))?:\s*(In function [`'"](.*)['"]:)
to :
(.*?):?(\(\.[^\s+]+\+.*\))?:\s*([Ii]n function [`'"](.*)['"]:)
Please let me know if the issue is solved.
Thank you.
Kaouthar.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-09-20 12:43 AM
Hello @crwper ,
I think you have the same issue shared in this post.
Please try to use this workaround:
Go to Windows > Preferences
Open the tab Error Parsers into C/C++ > Build > Settings
Select GNU Linker Error Parser, double click on the pattern for the 1st severity Ignore
Changer :
(.*?):?(\(\.[^\s+]+\+.*\))?:\s*(In function [`'"](.*)['"]:)
to :
(.*?):?(\(\.[^\s+]+\+.*\))?:\s*([Ii]n function [`'"](.*)['"]:)
Please let me know if the issue is solved.
Thank you.
Kaouthar.
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2023-09-20 10:48 AM
This now seems to ignore the linker errors, but I still get warnings for the following items:
As this code belongs to a bootloader which cannot be modified in the field, I want to be absolutely certain that these warnings won't affect function. Can you please explain to me in detail why these warnings started showing up when I updated the workspace, what they are indicating, and why you feel they can safely be ignored?
Thank you!
2023-09-21 01:49 AM - edited 2023-09-21 01:53 AM
Hello @crwper ,
Thank you for your sharing this update.
The problem that is causing the failed build was described in CDT (https://github.com/eclipse-cdt/cdt/commit/1b2472faff2028f0323ad5c5eb85565f81b89053).
For more information about these warnings and how fixed them, I advise you to check this post and precisely @Peter BENSCH answer.
I hope this help you.
Kaouthar
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2024-04-29 11:28 AM
Got the same problem today after an update, found this on google and it solve my current problem! thank you