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

Reply via email to