Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

[x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP#9814

Merged
janvorli merged 7 commits into
dotnet:masterfrom
parjong:fix/x86_ESTABLISHER_FRAME_POINTER_IS_CALLER_SP
Mar 1, 2017
Merged

[x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP#9814
janvorli merged 7 commits into
dotnet:masterfrom
parjong:fix/x86_ESTABLISHER_FRAME_POINTER_IS_CALLER_SP

Conversation

@parjong
Copy link
Copy Markdown

@parjong parjong commented Feb 27, 2017

exceptionhandling.cpp contains several code fragments that are valid when Establisher Frame Pointer is same as Caller SP, but these fragments are explicitly ifdefed by TARGET_XXX.

This commit introduces ESTABLISHER_FRAME_POINTER_IS_CALLER_SP to annotate such code fragments, and use it to ifdef them (instead of explicitly using TARGET_XXX).

@parjong
Copy link
Copy Markdown
Author

parjong commented Feb 27, 2017

This PR includes #9607.

\CC @wateret

@parjong parjong changed the title [x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP [x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP (WIP) Feb 27, 2017
@parjong parjong changed the title [x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP (WIP) [x86/Linux] Use ESTABLISHER_FRAME_POINTER_IS_CALLER_SP Feb 27, 2017
@parjong
Copy link
Copy Markdown
Author

parjong commented Feb 27, 2017

@janvorli Please take a look.

Copy link
Copy Markdown
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

I am sorry for the delay, I have had my comment as a pending one and forgotten to push the "Submit review"

Comment thread src/vm/exceptionhandling.cpp Outdated
// This has been confirmed by AaronGi from the kernel team for Windows.
//
// For x86/Linux, RtlVirtualUnwind sets EstablisherFrame as Caller-SP.
#define ESTABLISHER_FRAME_POINTER_IS_CALLER_SP
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The "frame pointer" in the symbol name is misleading, since it doesn't mean "Fp" register on ARM, which is the frame pointer. So I would rather name it ESTABLISHER_FRAME_ADDRESS_IS_CALLER_SP.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Thanks for comment. I'll update PR as you suggested.

Copy link
Copy Markdown
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@janvorli janvorli merged commit 6ed351c into dotnet:master Mar 1, 2017
@parjong parjong deleted the fix/x86_ESTABLISHER_FRAME_POINTER_IS_CALLER_SP branch March 1, 2017 22:14
jorive pushed a commit to guhuro/coreclr that referenced this pull request May 4, 2017
* [x86/Linux] Introduce ESTABLISHER_FRAME_ADDRESS_IS_CALLER_SP
@karelz karelz modified the milestone: 2.0.0 Aug 28, 2017
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
…r#9814)

* [x86/Linux] Introduce ESTABLISHER_FRAME_ADDRESS_IS_CALLER_SP


Commit migrated from dotnet/coreclr@6ed351c
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants