Skip to main content
Associate
December 12, 2024
Question

Link warning: "missing .note.GNU-stack section implies executable stack" in STM32WBA52KE project

  • December 12, 2024
  • 2 replies
  • 4417 views

Hi,

I created a new STMCubeMX project based on STM32WBA52KE and when I build the generated code in CubeIDE, I get this error:

 

arm-none-eabi-gcc "../Core/Src/stm32wbaxx_it.c" -mcpu=cortex-m33 -std=gnu11 -g3 -DDEBUG -DUSE_FULL_LL_DRIVER -DBLE -DTX_SINGLE_MODE_NON_SECURE=1 -DUSE_HAL_DRIVER -DSTM32WBA52xx -c -I../Core/Inc -I../System/Interfaces -I../System/Modules -I../System/Modules/BasicAES -I../System/Modules/Flash -I../System/Modules/MemoryManager -I../System/Modules/Nvm -I../System/Modules/RTDebug -I../System/Modules/SerialCmdInterpreter -I../System/Config/Log -I../System/Config/LowPower -I../System/Config/Debug_GPIO -I../System/Config/Flash -I../System/Config/ADC_Ctrl -I../System/Config/CRC_Ctrl -I../STM32_WPAN/App -I../STM32_WPAN/Target -I../AZURE_RTOS/App -I../Drivers/STM32WBAxx_HAL_Driver/Inc -I../Drivers/STM32WBAxx_HAL_Driver/Inc/Legacy -I../Utilities/trace/adv_trace -I../Utilities/misc -I../Utilities/tim_serv -I../Utilities/lpm/tiny_lpm -I../Middlewares/ST/STM32_WPAN -I../Middlewares/ST/STM32_WPAN/link_layer/ll_cmd_lib/config/ble_full -I../Middlewares/ST/STM32_WPAN/ble/svc/Src -I../Middlewares/ST/threadx/common/inc -I../Drivers/CMSIS/Device/ST/STM32WBAxx/Include -I../Middlewares/ST/STM32_WPAN/link_layer/ll_cmd_lib/inc -I../Middlewares/ST/STM32_WPAN/link_layer/ll_cmd_lib/inc/_40nm_reg_files -I../Middlewares/ST/STM32_WPAN/link_layer/ll_cmd_lib/inc/ot_inc -I../Middlewares/ST/STM32_WPAN/link_layer/ll_sys/inc -I../Middlewares/ST/STM32_WPAN/ble -I../Middlewares/ST/STM32_WPAN/ble/stack/include -I../Middlewares/ST/STM32_WPAN/ble/stack/include/auto -I../Middlewares/ST/STM32_WPAN/ble/svc/Inc -I../Middlewares/ST/threadx/ports/cortex_m33/gnu/inc -I../Drivers/CMSIS/Include -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"Core/Src/stm32wbaxx_it.d" -MT"Core/Src/stm32wbaxx_it.o" --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -o "Core/Src/stm32wbaxx_it.o"
arm-none-eabi-gcc -o "ObuBle_NoSZ_3.elf" @"objects.list" -Wl,--start-group -l:LinkLayer_BLE_Full_lib.a -l:stm32wba_ble_stack_full.a -Wl,--end-group -mcpu=cortex-m33 -T"C:\Data\GIT\ObuBle\Sviluppo\STM32WBA52KE\ObuBle_NoSZ_3\STM32WBA52KEUX_FLASH.ld" --specs=nosys.specs -Wl,-Map="ObuBle_NoSZ_3.map" -Wl,--gc-sections -static -L../Middlewares/ST/STM32_WPAN/link_layer/ll_cmd_lib/lib -L../Middlewares/ST/STM32_WPAN/ble/stack/lib --specs=nano.specs -mfpu=fpv5-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group
C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.1.0.202410251130/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: warning: C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.1.0.202410251130/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v8-m.main+fp/hard/crtn.o: missing .note.GNU-stack section implies executable stack
C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.1.0.202410251130/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
Finished building target: ObuBle_NoSZ_3.elf

 

STM32CubeMX v6.13.0

STM32CubeIDE v1.17.0

FW_WBA v1.5.0

Can you help me please?

Thank you.

2 replies

Andrew Neil
Super User
December 12, 2024

It's not an error - it's just a warning:

warning: C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.1.0.202410251130/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/thumb/v8-m.main+fp/hard/crtn.o: missing .note.GNU-stack section implies executable stack
C:/ST/STM32CubeIDE_1.14.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.1.0.202410251130/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/bin/ld.exe: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

 

See: 

https://community.st.com/t5/stm32-mcus-wireless/fw-wba-v1-3-1-the-code-generated-with-this-version-doesn-t-work/td-p/679619

Perhaps @STTwo-32 can update on progress of "internal ticket:177107" ... ?

 

See also:

https://stackoverflow.com/questions/73435637/how-can-i-fix-usr-bin-ld-warning-trap-o-missing-note-gnu-stack-section-imp

 

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
Technical Moderator
December 12, 2024

Hello @Filippo13 , @Andrew Neil 

This issue is fixed with STM32CubeIDE 1.16.0: STM32CubeIDE:STM32CubeIDE errata 1.16.x - stm32mcu

Resolution confirmed in this post: Solved: Error in building BLE_HID_Mouse example. - STMicroelectronics Community

@Filippo13, it seems you are using STM32CubeIDE version 1.14.0 when reviewing your warning.

Please update and make sure to use the latest release STM32CubeIDE 1.17.0.

Please keep us informed about your update and close this post if this issue is resolved for you.

"When your question is answered, please close this topic by clicking ""Accept as Solution"".ThanksImen"
Filippo13Author
Associate
December 12, 2024

I updated STM32IDE from v1.14.0 to v 1.17.0 before generating the code. That's why you notice "1.14.0" in the path.

 

Anyway I suppose this is an error:

Filippo13_0-1734008506857.png

 

 

 

 

   

Andrew Neil
Super User
December 12, 2024

@Filippo13 wrote:

Anyway I suppose this is an error:

Filippo13_0-1734008506857.png

 


Hmmm ...  CubeIDE seems to be incorrectly treating the "note" as an error.

 


@Filippo13 wrote:

I updated STM32IDE from v1.14.0 to v 1.17.0 before generating the code. 


Not quite sure what you mean by that?

You started out with v1.14.0 and then later updated to v1.17.0 ?

And you're still getting the error now that you're on v1.17.0 ?

Maybe something has been "inherited" from the older version?

What happens if you start from scratch with v1.17.0?

A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.