DWARF Standard


HOME
SPECIFICATIONS
FAQ
ISSUES



181003.1 Paul T Robinson Forbid DW_OP_call_ref/DW_FORM_ref_addr in a .dwo section Error Accepted Jeremy Morse


Section 7.3.2.2, pg 189

Background
==========

DW_OP_call_ref (and DW_FORM_ref_addr) require relocations, and
so should be forbidden in a .dwo section, as a .dwo cannot have
relocations.

To discourage producers from generating .dwo sections that could
potentially make use of such references, make an assumption (that
.dwo files only contain a single compilation unit) into an explicit
limitation.

To avoid invasive changes to the text, I suggest we should only
add qualifiers to the paragraphs about split-DWARF, rather than to
the definitions of DW_OP_call_ref and DW_FORM_ref_addr.

Changes
=======

Section 7.3.2.2 p189 line 6
---------------------------

[current]
Split DWARF object files do not get linked with any other files, therefore
references between sections must not make use of normal object file relocation
information. As a result, symbolic references within or between sections are not
possible.

[replace]
"symbolic references within or between sections are not possible."
[with]
"symbolic references such as DW_FORM_ref_addr and DW_OP_call_ref
within or between sections are not possible. Split DWARF object files
should contain at most one compilation unit."

Figure B.2 note "(fo)" p280 line 6
----------------------------------

Delete: this whole note. DW_OP_call_ref will not be permitted in
.debug_info.dwo, and this item does not appear in figure B.2 anyway.

--
2022-07-29:  Updated.
2022-08-08:  Accepted.


All logos and trademarks in this site are property of their respective owner.
The comments are property of their posters, all the rest © 2007-2022 by DWARF Standards Committee.