Skip to content

Comments

Review comments#102

Open
t-tye wants to merge 1 commit intoccoutant:mainfrom
t-tye:t-tye/locdesc-review-2025-02-26
Open

Review comments#102
t-tye wants to merge 1 commit intoccoutant:mainfrom
t-tye:t-tye/locdesc-review-2025-02-26

Conversation

@t-tye
Copy link
Contributor

@t-tye t-tye commented Feb 26, 2025

No description provided.

It is identified by its address on the call stack (see Section
{framebase}). The address is referred to as the frame base
or the call frame address (CFA). The call frame information is used to
or the <span class="del">call</span> <span class="add">canonical</span> frame address (CFA). The call frame information is used to
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is captured in 005a-misc.

`DW_AT_data_member_location` and `DW_AT_use_location`)<span class="del"> where the
object's location is provided as part of the initial stack</span>.

[ttye: My reading of the DWARF 5 specification is that if the object address is passed on the initial stack, it does not cause there to be a current object, and `DW_OP_push_object_address`. Either the object address is passed implicitly and accessed using `DW_OP_push_object_address`, or it is passed on the stack. It would have been better if one consistent method could have been used in all cases.]
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed in the meeting, I think the spec is worded so that the implicit push of the location is equivalent to using DW_OP_push_object_address, and therefore there is a current object in that case.

This operation pops a location `L` from the stack. The
first `TS` bits are retrieved from the location `L` and pushed onto the
stack as a value of type `T`.
]
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is captured in 005a-misc.

the dereferenced address is specified by the first operand. This operand is
a 1-byte unsigned integral constant whose value
value which is the same as the size of the base type referenced
<span class="del">value which</span> is the same as the size of the base type referenced
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes a typo in the DWARF 5 spec.

which the expression is being evaluated (see Section
{lowlevelinformation}).
]

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added to 005a-misc.

*The DWARF expressions in value list entries, being
expressions and not location descriptions, may not contain
*The DWARF expressions in value list entries, <span class="del">being
expressions and</span> not <span class="add">being</span> location descriptions, may not contain
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should just remove this paragraph.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants