Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix non-standard parsing of DWARF 5 Type Unit Headers (7.5.3) #356

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

zadewg
Copy link
Contributor

@zadewg zadewg commented Aug 17, 2023

It appears to me that the current implementation of DWARF 5 Unit Type Header parsing in CU::ReadHeader does not honour the standard.

Section 7.5.1.3 Type Unit Headers reads:

3. unit_type (ubyte)
A 1-byte unsigned integer identifying this unit as a type unit. The value of
this field is DW_UT_type for a non-split type unit (see Section 3.1.4 on
page 68) or DW_UT_split_type for a split type unit.

The current implementation associates DW_UT_split_type with Skeleton and Split Compilation Unit Headers (7.5.1.2), wrongly consuming a dwo_id unit ID an missing the type_signature and type_offset information.

@google-cla
Copy link

google-cla bot commented Aug 17, 2023

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@zadewg
Copy link
Contributor Author

zadewg commented Aug 29, 2023

@haberman any thoughts on this?

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.

1 participant