This is is what I've discovered, and I am hoping it helps others:
When we upped the C++ std support from 11 to 17 with the GCC option -std=gnu++17, both DS5 (all versions) and Development Studio (v2021.0) failed while loading symbols from our ELF.
We're using a Xilinx-supplied gcc cross compiler (for Cortex A9), version:
make-C:\dev\akd\trunk1\make>arm-none-eabi-g++ --versionarm-none-eabi-g++ (Linaro GCC 7.3-2018.04-rc3) 7.3.1 20180314
The fix is to add the following options to the g++ compiler: -g -gstrict-dwarf -gdwarf-3
Don't forget to do a clean make.
Thanks for sharing :)
The Debuggers of DS-5 and Arm Development Studio supports standard DWARF debug information up to DWARF4.
Maybe the compiler was originally generating something in its DWARF that was non-standard (which the Debugger didn't understand), but which was resolved after switching to "-gstrict-dwarf -gdwarf-3".
It might be worth trying a more recent version of GCC, to see if the behaviour has changed.
Thanks again for sharing.
Thanks, I did verify that GCC+DS-5 works with gdwarf-4.
We're due for an upgrade of our tools, so I will try with a later version of GCC to see if it works without adding the "strict" behavior.
View all questions in Arm Development Studio forum