------- Comment #7 from jakub at gcc dot gnu dot org 2010-03-26 15:51 ------- Created an attachment (id=20214) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20214&action=view) gcc45-pr43540.patch
Ah, finally managed to reproduce it. The problem seems to be in confusion about the operand order for DW_CFA_expression. The code that creates DW_CFA_expression as well as the consumers were using operand1 for location and operand2 for regnum, while in DWARF standard DW_CFA_expression has first argument regnum and second block, and I assumed that too when writing output_cfis. While changing output_cfis would be probably tiny bit shorter, I think it is really terribly confusing and a maintainance nightmare if DW_CFA_expression is the only code where the order of operands in GCC internal representation doesn't match the order of operands emitted. -- jakub at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43540