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

Properly handle DW_CFA_GNU_args_size #319

Merged
merged 3 commits into from
Aug 7, 2018
Merged

Conversation

roblabla
Copy link
Contributor

@roblabla roblabla commented Aug 6, 2018

Pretty simple, really. It stores the value of DW_CFA_GNU_args_size inside the UnwindTableRow. Defaults to 0.

As we talked in #130 unwinders should add this value to SP when setting IP.

CC @main--

So indeed, i686-pc-windows-gnu generates those. I've been unable to make any other target generate them, even with custom target changing the data-layout. So testing this is a bit painful since there's no 32-bit x86 backend to unwind-rs (I might work on this soon though!)

@coveralls
Copy link

coveralls commented Aug 6, 2018

Coverage Status

Coverage decreased (-0.1%) to 84.801% when pulling 3f4df41 on roblabla:argssize into 1e063cb on gimli-rs:master.

Copy link
Contributor

@main-- main-- left a comment

Choose a reason for hiding this comment

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

lgtm

@philipc
Copy link
Collaborator

philipc commented Aug 7, 2018

cfi::tests::size_of_unwind_ctx needs fixing.

@roblabla
Copy link
Contributor Author

roblabla commented Aug 7, 2018

Fixed.

@philipc philipc merged commit 28d3e40 into gimli-rs:master Aug 7, 2018
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.

4 participants