[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gas/26143] gas generates invalid line table entry
From: |
nickc at redhat dot com |
Subject: |
[Bug gas/26143] gas generates invalid line table entry |
Date: |
Mon, 22 Jun 2020 14:10:59 +0000 |
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.