> I think clang is correct.
>
> As I read the loclists, from 0x8 up to but not including 0xf, the
> value is in reg0, from 0xf (after the call) up to but not including
> 0x16, the value is on the stack.
>
> I don't see that this describes the value as live (in a register)
> after the call, at PC = 0xf.

But *during* the call, when the unwinder will use a PC value of 0xe to
query the range list, it will think the value is still live in %eax,
which is not true. If the unwinder did not subtract 1 from the PC
value, it would get the right answer, but since it does subtract 1,
GCC needs to adjust the end of the range list entry.

-cary
_______________________________________________
Dwarf-Discuss mailing list
Dwarf-Discuss@lists.dwarfstd.org
http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org

Reply via email to