https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114116
Lukas Grätz <lukas.gra...@tu-darmstadt.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lukas.graetz@tu-darmstadt.d | |e --- Comment #7 from Lukas Grätz <lukas.gra...@tu-darmstadt.de> --- (In reply to H.J. Lu from comment #6) > (In reply to Jakub Jelinek from comment #5) > > Yeah. Not to mention, one can call backtrace even if -g0; you just don't > > get nice names for the addresses. Without the patch you get crashes in the > > unwinder when doing backtrace. > > Should we generate REG_CFA_UNDEFINED for unsaved callee-saved registers to > help unwinder: > > https://patchwork.sourceware.org/project/gcc/list/?series=30327 Yes. Also for gdb this is needed. Perhaps I did something wrong. On my computer, I could get the first patch working to save rbp, I also applied the patch which should omit the .cfi_undefined. But somehow, I still not get .cfi_undefined for any of the examples. $ ./gcc/host-x86_64-pc-linux-gnu/gcc/cc1 -O3 gcc/gcc/testsuite/gcc.target/i386/pr38534-7.c -o pr38534-7.S $ cat pr38534-7.S [...] no_return_to_caller: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movl $array+67108860, %eax xorl %r13d, %r13d [...] The ".cfi_undefined 13" is still missing...