[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/24510] readelf does not know how to dissect DW_AT_discr_li
From: |
nickc at redhat dot com |
Subject: |
[Bug binutils/24510] readelf does not know how to dissect DW_AT_discr_list |
Date: |
Thu, 04 Jul 2019 16:21:36 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=24510
Nick Clifton <nickc at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #11882|0 |1
is obsolete| |
--- Comment #3 from Nick Clifton <nickc at redhat dot com> ---
Created attachment 11884
--> https://sourceware.org/bugzilla/attachment.cgi?id=11884&action=edit
Proposed patch
Hi Tom,
Here is a third version of the patch. This one adds support for signed
discriminator values. Which I must say are a pain to support. The DWARF
parser in the binutils was not built with this kind of thing in mind.
I have changed the output format slightly, to be more inline with the
format chosen by Mark for the eu-readelf version. (It would have been
nice if you had told us both that you were asking for this feature so
that we could have collaborated from the start).
So, using Mark's test case, you get:
% readelf -wi rng.o | grep discr_list
<63> DW_AT_discr_list : 7 byte block: 1 1 ff ff ff ff 7 (range
1..2147483647)(signed)
<80> DW_AT_discr_list : 9 byte block: 1 1 f 0 11 1 17 ff 1 (range
1..15, label 17, range 23..255)(unsigned)
<a9> DW_AT_discr_list : 3 byte block: 1 4c 7f (range -52..-1)(signed)
<18f> DW_AT_discr_list : 9 byte block: 1 61 7a 1 41 5a 1 30 39 (range
97..122, range 65..90, range 48..57)(unsigned)
Or, using the elfutils version:
% eu-readelf --debug-dump=info rng.o | grep discr_list
discr_list (block1) range 1..2147483647
discr_list (block1) range 1..15, label 17, range
23..255
discr_list (block1) range -52..-1
discr_list (block1) range 97..122, range 65..90,
range 48..57
What do you think - are you happy with the binutils version of this patch ?
Cheers
Nick
--
You are receiving this mail because:
You are on the CC list for the bug.