> 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