https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38534
--- Comment #35 from Jakub Jelinek <jakub at gcc dot gnu.org> --- If I hand edit the gcc trunk + PR114116 patch assembly, add to bar + .cfi_undefined 3 + .cfi_undefined 12 + .cfi_undefined 13 + .cfi_undefined 14 + .cfi_undefined 15 then bt in gdb shows #2 0x00000000004011d2 in baz (a=a@entry=42, b=b@entry=43, c=c@entry=44, d=<error reading variable: value has been optimized out>, e=<error reading variable: value has been optimized out>, f=<error reading variable: value has been optimized out>, g=48, h=49) at /tmp/1.c:38 and everything in qux live across the call is <optimized out> as well, (gdb) p $r12 $10 = <not saved> etc. while without that (gdb) p a $1 = <optimized out> (gdb) p b $2 = <optimized out> (gdb) p c $3 = <optimized out> (gdb) p d $4 = -559038737 (gdb) p e $5 = -559038737 (gdb) p f $6 = -559038737 (gdb) p g $7 = -559038737 (gdb) p h $8 = -559038737 (gdb) p $r12 $9 = 3735928559