From: Michal Ludvig <mludvig@suse.cz>
To: Daniel Berlin <dberlin@dberlin.org>
Cc: gcc@sources.redhat.com
Subject: .debug_loc
Date: Fri, 31 Jan 2003 18:06:00 -0000 [thread overview]
Message-ID: <3E3AA9BA.2000000@suse.cz> (raw)
Hi Daniel,
I have a question on parsing .debug_loc on x86-64. Let's have this one:
.section .debug_loc,"",@progbits
.LLST0:
.quad .LVL3-.text # Location list begin address (*.LLST0)
.quad .LVL5-.text # Location list end address (*.LLST0)
.value 0x1 # Location expression size
.byte 0x53 # DW_OP_reg3
[...]
.quad .LVL16-.text # Location list begin address (*.LLST0)
.quad .Letext0-.text # Location list end address (*.LLST0)
.value 0x1 # Location expression size
.byte 0x53 # DW_OP_reg3
.long 0x0 # Location list terminator begin (*.LLST0)
.long 0x0 # Location list terminator end (*.LLST0)
.LLST1:
.quad .LVL10-.text # Location list begin address (*.LLST1)
.quad .LVL11-.text # Location list end address (*.LLST1)
[...]
As you can see, addresses of ranges are 64b (.quad) BUT the terminating
zeroes are only 32b long (.long). Is it an intent or a bug? If it's
correct, than how do I realise that I've reached the end of LLST0? Maybe
because the address (.long+.long = .quad = 0) is lower that any of the
previous ones? I can't tell that I'm at the end if I just see a NULL
address, because IMHO it's perfectly correct for a range to start at the
very beginning of .text section. Is it a bug or not?
And one more thing - how do I distinguish whether a given DIE has the
attribute "in-place" or linked in .debug_loc? The only difference I
could find was the appropriate record for DW_AT_location in
.debug_abbrev, where for "in-place" case was the value DW_FORM_blockN
while for loclist entries it was DW_FORM_data4. Can I rely on this fact
or is there a better way to differentiate these cases?
BTW Is it correct to have the pointer as DW_FORM_data4 and not as
DW_FORM_data8 even on 64b machine?
Thanks for information.
Michal Ludvig
--
* SuSE CR, s.r.o * mludvig@suse.cz
* (+420) 296.545.373 * http://www.suse.cz
next reply other threads:[~2003-01-31 16:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-31 18:06 Michal Ludvig [this message]
2003-01-31 18:07 ` .debug_loc Keith Walker
2003-01-31 19:02 ` .debug_loc Daniel Berlin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3E3AA9BA.2000000@suse.cz \
--to=mludvig@suse.cz \
--cc=dberlin@dberlin.org \
--cc=gcc@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).