> *** block* used where exprloc expected in CU v>=4 
> *** data* used where sec_offset expected in CU v>=4 

I meant to point out here: e.g., data_member_location can now be a
loclistptr because sec_offset is unambiguous and data* is always a constant
rather than loclistptr.  And we still call either location or location-list
(i.e. exprloc+sec_offset) the "location value space", but it's probably
suspicious for data_member_location to have a sec_offset--it seems more
likely to be a wrong transliteration of data as loclistptr than that there
is really a data_member_location that varies by PC.

There are also DW_AT_byte_size et al that can be either a constant or a
location (actually DWARF expression).  But data* and block* are both the
"constant value space".  These are non-location DWARF expressions and
really loclistptr is not kosher at all, but we consider them all the
"location value space" (perhaps that needs more refinement in the C++
interfaces).  If one of these has a block* form it is suspicious since it
is probably a wrong transliteration of what should be an exprloc.


Thanks,
Roland
_______________________________________________
elfutils-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/elfutils-devel

Reply via email to