https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114116

--- Comment #9 from Lukas Grätz <lukas.gra...@tu-darmstadt.de> ---
(In reply to H.J. Lu from comment #8)
> (In reply to Lukas Grätz from comment #7)
> > (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...
> 
> It is generated only when -g is used.


Not on my computer. When I used -g I got:


no_return_to_caller:
.LFB0:
        .loc 1 16 1 view -0
        .cfi_startproc
        .loc 1 17 3 view .LVU1
        .loc 1 18 3 view .LVU2
.LVL0:
        .loc 1 18 26 discriminator 1 view .LVU3
        .loc 1 16 1 is_stmt 0 view .LVU4
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movl    $array+67108860, %eax
        .loc 1 21 31 view .LVU5
        xorl    %r13d, %r13d
        .loc 1 16 1 view .LVU6


Still no .cfi_undefined 13. In principle, it should also be generated without
-g, as the rest of .cfi_offset and friends.

Reply via email to