cancel
Showing results for 
Search instead for 
Did you mean: 

invalid length in FDE in elf file when linking stm32wba_ble_stack_full

DNumk
Associate II

I have been getting warnings similar to the following when I link with LinkLayer_BLE_Full_lib.a and stm32wba_ble_stack_full.a.  output.axf is the executable elf file.  objdump is from Ubuntu 23.  

objdump -g 'output.axf' > 1.txt
objdump: Warning: Invalid length 0xc000000 in FDE at 0x30cad

The PDE problem causes a problem with Segger Ozone.  It is unable to unwind the call stack and warns "ELF data section 'debug.frame' has an unexpected byte size".

I don't get the warnings when I use LinkLayer_BLE_Basic_lib.a and stm32wba_ble_stack_basic.a.  Ozone doesn't have an unwinding problem with the basic versions.

Is there a known way to use LinkLayer_BLE_Full_lib.a and stm32wba_ble_stack_full.a without causing an invalid FDE.

I am using STM32Cube_FW_WBA_V1.2.0, Nucleo-WBA52CG, Ubuntu 23, and arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi.  

 

2 REPLIES 2
Pavel A.
Evangelist III

objdump is from Ubuntu 23

Should use obdump and gdb from the toolchain (arm-none-eabi in this case). The object libraries (.a) should be compatible with the linker of the toolchain - please check that the libraries are for gcc and not Keil or something else.

 

I just used objdump from the toolchain and I got the similar warning:

~/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-objdump -g 'output.axf' > 1.txt
~/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-objdump: Warning: Invalid length 0xc000000 in FDE at 0x20635
~/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-objdump: Warning: Unsupported or unknown Dwarf Call Frame Instruction number: 0x18

 I am not using Keil.  Do you have any suggestions?