Greatly increased GDB memory and CPU usage with newest embedded ARM toolchain

David Blaikie dblaikie@gmail.com
Sat Apr 17 22:15:08 GMT 2021


> The debug information is not compressed.

How are you determining that ^ ?

(I ask, because historically compressed debug info was opt-in and used
a section name mangling (.zdebug_*) to notate compressed debug
sections - but recent versions of GCC have started compressing by
default and using an ELF section flag (SHF_COMPRESSED) without section
name mangling (so dumping section names would not be enough to
determine whether compressed debug info was used)

But, yeah, that does seem like a lot of work, for all of 76kB of
non-debug executable...

On Sat, Apr 17, 2021 at 3:01 PM R. Diez via Gdb <gdb@sourceware.org> wrote:
>
> Hi all:
>
> I recently upgraded my cross-compilation toolchain for ARM Cortex-M4F to these component versions:
>
>   Binutils 2.36.1
>   GCC 10.3
>   GDB 10.1
>
> For more information, see this comment of mine:
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=23710#c18
>
> I noticed that GDB is now using much more RAM than before, and not just for LTO builds, which is what that bug report was about.
>
> I just tried with this open-source firmware of mine:
>
> https://github.com/rdiez/JtagDue
>
> For a debug build (non LTO), firmware.elf weighs around 1.5 MB. Most of it is debug information, because the firmware.bin file only weighs 76 kB.
>
> The debug information is not compressed.
>
> When GDB needs to load the symbols, because you are touching some C++ source code, there is a noticeable pause, and GDB uses 385 MiB of RAM. Is that not too much for this smallish project?
>
> I tried a release build, compiled with LTO, and GDB became unresponsive in the same situation. I killed GDB manually when it got to consume over 2 GiB of RAM, because I have had such a misbehaving GDB freeze my Ubuntu 20.04.2, not even the mouse was moving. I do not have swap, so I would have expected the Out of Memory Killer to kick in, but it did not. I had to physically switch my computer off.
>
> Before I spend more time investigating this issue: is this a known problem?
>
> The bug report mentioned above seems to suggest that there is something foul in this area, but there does not seem to be much interest in the past months. The trouble is, I am seeing now pauses and high memory usage even in non-LTO builds. GDB is still usable, but it is becoming annoying.
>
> I have been using this toolchain for many years, and I am getting this kind of problem with GDB only relatively recently.
>
> Best regards,
>   rdiez


More information about the Gdb mailing list