libdw: Update acceptable forms and attributes for dwarf_getlocation.
authorMark Wielaard <mark@klomp.org>
Thu, 2 Nov 2017 15:24:17 +0000 (16:24 +0100)
committerMark Wielaard <mark@klomp.org>
Fri, 10 Nov 2017 15:36:01 +0000 (16:36 +0100)
commit7286e5c5de53840126b4046a46442872a3b00692
treebd00b5129ae632a9cc211cf953f3bab5a209eb85
parente23c71330c3b332d19fdf9e48ca8b03680d9ad34
libdw: Update acceptable forms and attributes for dwarf_getlocation.

dwarf_getlocation has to know which attributes can contain a DWARF
expression or location list because the form alone might be ambiguous.

Since DWARF4 there is DW_FORM_exprloc so always accept that. But for older
DWARF or location lists we cannot just check for DW_FORM_sec_offset since
that could be a reference to diffent kinds of sections (based on attribute).

Update the attribute list based on the latest DWARF5 encodings table.
Note that DW_AT_call_origin wasn't added because that seems to be a
typo in the DWARF5 spec. http://dwarfstd.org/ShowIssue.php?issue=171103.1

Signed-off-by: Mark Wielaard <mark@klomp.org>
libdw/ChangeLog
libdw/dwarf_getlocation.c