Skip to main content
crwper
Senior
September 19, 2023
Solved

Issue after updating to STM32CubeIDE 1.13.2

  • September 19, 2023
  • 2 replies
  • 5372 views

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.

This topic has been closed for replies.
Best answer by KDJEM.1

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.

2 replies

KDJEM.1
KDJEM.1Best answer
ST Technical Moderator
September 20, 2023

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 "Best answer" on the reply which solved your issue or answered your question.
crwper
crwperAuthor
Senior
September 20, 2023

This now seems to ignore the linker errors, but I still get warnings for the following items:

  • The "partly outside array bounds" issue mentioned above
  • The "not implemented an will always fail" issue mentioned above

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!

KDJEM.1
ST Technical Moderator
September 21, 2023

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. 

KDJEM1_0-1695286366302.png

I hope this help you.

Kaouthar 

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.