https://sourceware.org/bugzilla/show_bug.cgi?id=26143
Nick Clifton <nickc at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nickc at redhat dot com --- Comment #1 from Nick Clifton <nickc at redhat dot com> --- (In reply to Tom de Vries from comment #0) Hi Tom, > [0x00000080] Special opcode 75: advance Address by 5 to 0x1c and Line by > 0 to 12 > [0x00000081] Extended opcode 1: End of Sequence > Every line number program sequence must end with a DW_LNE_end_sequence > instruction which creates a row whose address is that of the byte after the > last target machine instruction of the sequence. > One the one hand, the end-of-sequence declares that address 0x1c is one past > the byte of the last target machine instruction of the sequence. > > On the other hand, the special opcode declares a target instruction starting > at address 0x1c, that is part of that same sequence. Ah - but special opcodes do not necessarily assert that there is a target instruction starting at the address they reference. > This option causes a row to be added to .debug_line in reference to the > current address (which might not be the same as that of the following > assembly instruction), > I cannot tell from the formulation "in reference to the current address > (which might not be the same as that of the following assembly instruction)" > whether this particular instance of .loc usage is valid. My take on this is that the "view" directive specifies a property for an address, but it does not require that there be an instruction at that address. Hence the generated line number table is correct... Cheers Nick -- You are receiving this mail because: You are on the CC list for the bug.