Arm64: [PAC-RET] VM and coreclr support - #128147

Merged
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac
Jun 2, 2026
Merged

Arm64: [PAC-RET] VM and coreclr support#128147
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac

Conversation

@SwapnilGaikwad

Copy link
Copy Markdown
Contributor

As suggested in comment, this PR covers subset of changes from #125436 related to the coreclr and VM.

More details on PAC and its role in software security can be found (here).

NOTE: This PR adds part of the changes for PAC support to simplify review process as discussed #125436 (comment). The feature is disabled by default so CI status of this PR won't reflect the impact of changes. Kindly take a look at the CI status of #125436 to ensure correctness.

As suggested in [comment](dotnet#125436 (comment)), this PR covers subset of changes from dotnet#125436 related to the coreclr and VM.
More details on PAC and its role in software security can be found ([here](https://llsoftsec.github.io/llsoftsecbook/#sec:pointer-authentication)).
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label May 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

cc: @dotnet/arm64-contrib @a74nh@jkotas@dhartglassMSFT

Comment threadsrc/coreclr/vm/excep.cpp Outdated
@jkotas

Copy link
Copy Markdown
Member

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

I thought that would need changes to Windows unwinder that is not part of this repo. Probably didn't understand fully what you had highlighted in earlier comments on how it can be done.

@jkotas

Copy link
Copy Markdown
Member

I thought that would need changes to Windows unwinder that is not part of this repo.

The unwinder under src\coreclr\unwinder is a copy of the Windows unwinder. There has not been a good reason to use it on Windows so far since the copy included with the OS worked just fine. If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases

Interesting, in this case I can enable the changes for Windows too. Do we need to do anything else to force using this unwinder (in arm64/unwinder.cpp) on Windows Arm64?

@jkotas

Copy link
Copy Markdown
Member

I expect that it may need some build changes.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

Hi @jkotas , I moved the changes related to switching to PAL unwinder for Windows to this PR. could you take a look at the PR? The stress tests on the full PR didn't show any failures.

Comment threadsrc/coreclr/debug/ee/controller.cpp Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.S Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h
Comment threadsrc/coreclr/unwinder/arm64/unwinder.cpp
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated

@jkotasjkotas left a comment

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.

LGTM!

@jkotas
jkotas merged commit a4461ef into dotnet:mainJun 2, 2026
114 checks passed
@SwapnilGaikwad
SwapnilGaikwad deleted the github-vm-pac branch June 2, 2026 16:10
@dotnet-milestone-botdotnet-milestone-botBot added this to the 11.0-preview6 milestone Jun 3, 2026
@a74nha74nh mentioned this pull request Jun 3, 2026
20 tasks
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SwapnilGaikwad@jkotas@a74nh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Arm64: [PAC-RET] VM and coreclr support - #128147

Merged
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac
Jun 2, 2026
Merged

Arm64: [PAC-RET] VM and coreclr support#128147
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac

Conversation

@SwapnilGaikwad

Copy link
Copy Markdown
Contributor

As suggested in comment, this PR covers subset of changes from #125436 related to the coreclr and VM.

More details on PAC and its role in software security can be found (here).

NOTE: This PR adds part of the changes for PAC support to simplify review process as discussed #125436 (comment). The feature is disabled by default so CI status of this PR won't reflect the impact of changes. Kindly take a look at the CI status of #125436 to ensure correctness.

As suggested in [comment](dotnet#125436 (comment)), this PR covers subset of changes from dotnet#125436 related to the coreclr and VM.
More details on PAC and its role in software security can be found ([here](https://llsoftsec.github.io/llsoftsecbook/#sec:pointer-authentication)).
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label May 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

cc: @dotnet/arm64-contrib @a74nh@jkotas@dhartglassMSFT

Comment threadsrc/coreclr/vm/excep.cpp Outdated
@jkotas

Copy link
Copy Markdown
Member

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

I thought that would need changes to Windows unwinder that is not part of this repo. Probably didn't understand fully what you had highlighted in earlier comments on how it can be done.

@jkotas

Copy link
Copy Markdown
Member

I thought that would need changes to Windows unwinder that is not part of this repo.

The unwinder under src\coreclr\unwinder is a copy of the Windows unwinder. There has not been a good reason to use it on Windows so far since the copy included with the OS worked just fine. If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases

Interesting, in this case I can enable the changes for Windows too. Do we need to do anything else to force using this unwinder (in arm64/unwinder.cpp) on Windows Arm64?

@jkotas

Copy link
Copy Markdown
Member

I expect that it may need some build changes.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

Hi @jkotas , I moved the changes related to switching to PAL unwinder for Windows to this PR. could you take a look at the PR? The stress tests on the full PR didn't show any failures.

Comment threadsrc/coreclr/debug/ee/controller.cpp Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.S Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h
Comment threadsrc/coreclr/unwinder/arm64/unwinder.cpp
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated

@jkotasjkotas left a comment

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.

LGTM!

@jkotas
jkotas merged commit a4461ef into dotnet:mainJun 2, 2026
114 checks passed
@SwapnilGaikwad
SwapnilGaikwad deleted the github-vm-pac branch June 2, 2026 16:10
@dotnet-milestone-botdotnet-milestone-botBot added this to the 11.0-preview6 milestone Jun 3, 2026
@a74nha74nh mentioned this pull request Jun 3, 2026
20 tasks
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SwapnilGaikwad@jkotas@a74nh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Arm64: [PAC-RET] VM and coreclr support - #128147

Merged
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac
Jun 2, 2026
Merged

Arm64: [PAC-RET] VM and coreclr support#128147
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac

Conversation

@SwapnilGaikwad

Copy link
Copy Markdown
Contributor

As suggested in comment, this PR covers subset of changes from #125436 related to the coreclr and VM.

More details on PAC and its role in software security can be found (here).

NOTE: This PR adds part of the changes for PAC support to simplify review process as discussed #125436 (comment). The feature is disabled by default so CI status of this PR won't reflect the impact of changes. Kindly take a look at the CI status of #125436 to ensure correctness.

As suggested in [comment](dotnet#125436 (comment)), this PR covers subset of changes from dotnet#125436 related to the coreclr and VM.
More details on PAC and its role in software security can be found ([here](https://llsoftsec.github.io/llsoftsecbook/#sec:pointer-authentication)).
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label May 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

cc: @dotnet/arm64-contrib @a74nh@jkotas@dhartglassMSFT

Comment threadsrc/coreclr/vm/excep.cpp Outdated
@jkotas

Copy link
Copy Markdown
Member

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

I thought that would need changes to Windows unwinder that is not part of this repo. Probably didn't understand fully what you had highlighted in earlier comments on how it can be done.

@jkotas

Copy link
Copy Markdown
Member

I thought that would need changes to Windows unwinder that is not part of this repo.

The unwinder under src\coreclr\unwinder is a copy of the Windows unwinder. There has not been a good reason to use it on Windows so far since the copy included with the OS worked just fine. If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases

Interesting, in this case I can enable the changes for Windows too. Do we need to do anything else to force using this unwinder (in arm64/unwinder.cpp) on Windows Arm64?

@jkotas

Copy link
Copy Markdown
Member

I expect that it may need some build changes.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

Hi @jkotas , I moved the changes related to switching to PAL unwinder for Windows to this PR. could you take a look at the PR? The stress tests on the full PR didn't show any failures.

Comment threadsrc/coreclr/debug/ee/controller.cpp Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.S Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h
Comment threadsrc/coreclr/unwinder/arm64/unwinder.cpp
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated

@jkotasjkotas left a comment

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.

LGTM!

@jkotas
jkotas merged commit a4461ef into dotnet:mainJun 2, 2026
114 checks passed
@SwapnilGaikwad
SwapnilGaikwad deleted the github-vm-pac branch June 2, 2026 16:10
@dotnet-milestone-botdotnet-milestone-botBot added this to the 11.0-preview6 milestone Jun 3, 2026
@a74nha74nh mentioned this pull request Jun 3, 2026
20 tasks
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SwapnilGaikwad@jkotas@a74nh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Arm64: [PAC-RET] VM and coreclr support - #128147

Merged
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac
Jun 2, 2026
Merged

Arm64: [PAC-RET] VM and coreclr support#128147
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac

Conversation

@SwapnilGaikwad

Copy link
Copy Markdown
Contributor

As suggested in comment, this PR covers subset of changes from #125436 related to the coreclr and VM.

More details on PAC and its role in software security can be found (here).

NOTE: This PR adds part of the changes for PAC support to simplify review process as discussed #125436 (comment). The feature is disabled by default so CI status of this PR won't reflect the impact of changes. Kindly take a look at the CI status of #125436 to ensure correctness.

As suggested in [comment](dotnet#125436 (comment)), this PR covers subset of changes from dotnet#125436 related to the coreclr and VM.
More details on PAC and its role in software security can be found ([here](https://llsoftsec.github.io/llsoftsecbook/#sec:pointer-authentication)).
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label May 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

cc: @dotnet/arm64-contrib @a74nh@jkotas@dhartglassMSFT

Comment threadsrc/coreclr/vm/excep.cpp Outdated
@jkotas

Copy link
Copy Markdown
Member

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

I thought that would need changes to Windows unwinder that is not part of this repo. Probably didn't understand fully what you had highlighted in earlier comments on how it can be done.

@jkotas

Copy link
Copy Markdown
Member

I thought that would need changes to Windows unwinder that is not part of this repo.

The unwinder under src\coreclr\unwinder is a copy of the Windows unwinder. There has not been a good reason to use it on Windows so far since the copy included with the OS worked just fine. If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases

Interesting, in this case I can enable the changes for Windows too. Do we need to do anything else to force using this unwinder (in arm64/unwinder.cpp) on Windows Arm64?

@jkotas

Copy link
Copy Markdown
Member

I expect that it may need some build changes.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

Hi @jkotas , I moved the changes related to switching to PAL unwinder for Windows to this PR. could you take a look at the PR? The stress tests on the full PR didn't show any failures.

Comment threadsrc/coreclr/debug/ee/controller.cpp Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.S Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h
Comment threadsrc/coreclr/unwinder/arm64/unwinder.cpp
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated

@jkotasjkotas left a comment

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.

LGTM!

@jkotas
jkotas merged commit a4461ef into dotnet:mainJun 2, 2026
114 checks passed
@SwapnilGaikwad
SwapnilGaikwad deleted the github-vm-pac branch June 2, 2026 16:10
@dotnet-milestone-botdotnet-milestone-botBot added this to the 11.0-preview6 milestone Jun 3, 2026
@a74nha74nh mentioned this pull request Jun 3, 2026
20 tasks
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SwapnilGaikwad@jkotas@a74nh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Arm64: [PAC-RET] VM and coreclr support - #128147

Merged
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac
Jun 2, 2026
Merged

Arm64: [PAC-RET] VM and coreclr support#128147
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac

Conversation

@SwapnilGaikwad

Copy link
Copy Markdown
Contributor

As suggested in comment, this PR covers subset of changes from #125436 related to the coreclr and VM.

More details on PAC and its role in software security can be found (here).

NOTE: This PR adds part of the changes for PAC support to simplify review process as discussed #125436 (comment). The feature is disabled by default so CI status of this PR won't reflect the impact of changes. Kindly take a look at the CI status of #125436 to ensure correctness.

As suggested in [comment](dotnet#125436 (comment)), this PR covers subset of changes from dotnet#125436 related to the coreclr and VM.
More details on PAC and its role in software security can be found ([here](https://llsoftsec.github.io/llsoftsecbook/#sec:pointer-authentication)).
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label May 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

cc: @dotnet/arm64-contrib @a74nh@jkotas@dhartglassMSFT

Comment threadsrc/coreclr/vm/excep.cpp Outdated
@jkotas

Copy link
Copy Markdown
Member

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

I thought that would need changes to Windows unwinder that is not part of this repo. Probably didn't understand fully what you had highlighted in earlier comments on how it can be done.

@jkotas

Copy link
Copy Markdown
Member

I thought that would need changes to Windows unwinder that is not part of this repo.

The unwinder under src\coreclr\unwinder is a copy of the Windows unwinder. There has not been a good reason to use it on Windows so far since the copy included with the OS worked just fine. If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases

Interesting, in this case I can enable the changes for Windows too. Do we need to do anything else to force using this unwinder (in arm64/unwinder.cpp) on Windows Arm64?

@jkotas

Copy link
Copy Markdown
Member

I expect that it may need some build changes.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

Hi @jkotas , I moved the changes related to switching to PAL unwinder for Windows to this PR. could you take a look at the PR? The stress tests on the full PR didn't show any failures.

Comment threadsrc/coreclr/debug/ee/controller.cpp Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.S Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h
Comment threadsrc/coreclr/unwinder/arm64/unwinder.cpp
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated

@jkotasjkotas left a comment

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.

LGTM!

@jkotas
jkotas merged commit a4461ef into dotnet:mainJun 2, 2026
114 checks passed
@SwapnilGaikwad
SwapnilGaikwad deleted the github-vm-pac branch June 2, 2026 16:10
@dotnet-milestone-botdotnet-milestone-botBot added this to the 11.0-preview6 milestone Jun 3, 2026
@a74nha74nh mentioned this pull request Jun 3, 2026
20 tasks
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SwapnilGaikwad@jkotas@a74nh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Arm64: [PAC-RET] VM and coreclr support - #128147

Merged
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac
Jun 2, 2026
Merged

Arm64: [PAC-RET] VM and coreclr support#128147
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac

Conversation

@SwapnilGaikwad

Copy link
Copy Markdown
Contributor

As suggested in comment, this PR covers subset of changes from #125436 related to the coreclr and VM.

More details on PAC and its role in software security can be found (here).

NOTE: This PR adds part of the changes for PAC support to simplify review process as discussed #125436 (comment). The feature is disabled by default so CI status of this PR won't reflect the impact of changes. Kindly take a look at the CI status of #125436 to ensure correctness.

As suggested in [comment](dotnet#125436 (comment)), this PR covers subset of changes from dotnet#125436 related to the coreclr and VM.
More details on PAC and its role in software security can be found ([here](https://llsoftsec.github.io/llsoftsecbook/#sec:pointer-authentication)).
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label May 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

cc: @dotnet/arm64-contrib @a74nh@jkotas@dhartglassMSFT

Comment threadsrc/coreclr/vm/excep.cpp Outdated
@jkotas

Copy link
Copy Markdown
Member

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

I thought that would need changes to Windows unwinder that is not part of this repo. Probably didn't understand fully what you had highlighted in earlier comments on how it can be done.

@jkotas

Copy link
Copy Markdown
Member

I thought that would need changes to Windows unwinder that is not part of this repo.

The unwinder under src\coreclr\unwinder is a copy of the Windows unwinder. There has not been a good reason to use it on Windows so far since the copy included with the OS worked just fine. If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases

Interesting, in this case I can enable the changes for Windows too. Do we need to do anything else to force using this unwinder (in arm64/unwinder.cpp) on Windows Arm64?

@jkotas

Copy link
Copy Markdown
Member

I expect that it may need some build changes.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

Hi @jkotas , I moved the changes related to switching to PAL unwinder for Windows to this PR. could you take a look at the PR? The stress tests on the full PR didn't show any failures.

Comment threadsrc/coreclr/debug/ee/controller.cpp Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.S Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h
Comment threadsrc/coreclr/unwinder/arm64/unwinder.cpp
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated

@jkotasjkotas left a comment

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.

LGTM!

@jkotas
jkotas merged commit a4461ef into dotnet:mainJun 2, 2026
114 checks passed
@SwapnilGaikwad
SwapnilGaikwad deleted the github-vm-pac branch June 2, 2026 16:10
@dotnet-milestone-botdotnet-milestone-botBot added this to the 11.0-preview6 milestone Jun 3, 2026
@a74nha74nh mentioned this pull request Jun 3, 2026
20 tasks
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SwapnilGaikwad@jkotas@a74nh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Arm64: [PAC-RET] VM and coreclr support - #128147

Merged
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac
Jun 2, 2026
Merged

Arm64: [PAC-RET] VM and coreclr support#128147
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac

Conversation

@SwapnilGaikwad

Copy link
Copy Markdown
Contributor

As suggested in comment, this PR covers subset of changes from #125436 related to the coreclr and VM.

More details on PAC and its role in software security can be found (here).

NOTE: This PR adds part of the changes for PAC support to simplify review process as discussed #125436 (comment). The feature is disabled by default so CI status of this PR won't reflect the impact of changes. Kindly take a look at the CI status of #125436 to ensure correctness.

As suggested in [comment](dotnet#125436 (comment)), this PR covers subset of changes from dotnet#125436 related to the coreclr and VM.
More details on PAC and its role in software security can be found ([here](https://llsoftsec.github.io/llsoftsecbook/#sec:pointer-authentication)).
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label May 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

cc: @dotnet/arm64-contrib @a74nh@jkotas@dhartglassMSFT

Comment threadsrc/coreclr/vm/excep.cpp Outdated
@jkotas

Copy link
Copy Markdown
Member

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

I thought that would need changes to Windows unwinder that is not part of this repo. Probably didn't understand fully what you had highlighted in earlier comments on how it can be done.

@jkotas

Copy link
Copy Markdown
Member

I thought that would need changes to Windows unwinder that is not part of this repo.

The unwinder under src\coreclr\unwinder is a copy of the Windows unwinder. There has not been a good reason to use it on Windows so far since the copy included with the OS worked just fine. If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases

Interesting, in this case I can enable the changes for Windows too. Do we need to do anything else to force using this unwinder (in arm64/unwinder.cpp) on Windows Arm64?

@jkotas

Copy link
Copy Markdown
Member

I expect that it may need some build changes.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

Hi @jkotas , I moved the changes related to switching to PAL unwinder for Windows to this PR. could you take a look at the PR? The stress tests on the full PR didn't show any failures.

Comment threadsrc/coreclr/debug/ee/controller.cpp Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.S Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h
Comment threadsrc/coreclr/unwinder/arm64/unwinder.cpp
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated

@jkotasjkotas left a comment

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.

LGTM!

@jkotas
jkotas merged commit a4461ef into dotnet:mainJun 2, 2026
114 checks passed
@SwapnilGaikwad
SwapnilGaikwad deleted the github-vm-pac branch June 2, 2026 16:10
@dotnet-milestone-botdotnet-milestone-botBot added this to the 11.0-preview6 milestone Jun 3, 2026
@a74nha74nh mentioned this pull request Jun 3, 2026
20 tasks
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SwapnilGaikwad@jkotas@a74nh
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Arm64: [PAC-RET] VM and coreclr support - #128147

Merged
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac
Jun 2, 2026
Merged

Arm64: [PAC-RET] VM and coreclr support#128147
jkotas merged 17 commits into
dotnet:mainfrom
SwapnilGaikwad:github-vm-pac

Conversation

@SwapnilGaikwad

Copy link
Copy Markdown
Contributor

As suggested in comment, this PR covers subset of changes from #125436 related to the coreclr and VM.

More details on PAC and its role in software security can be found (here).

NOTE: This PR adds part of the changes for PAC support to simplify review process as discussed #125436 (comment). The feature is disabled by default so CI status of this PR won't reflect the impact of changes. Kindly take a look at the CI status of #125436 to ensure correctness.

As suggested in [comment](dotnet#125436 (comment)), this PR covers subset of changes from dotnet#125436 related to the coreclr and VM.
More details on PAC and its role in software security can be found ([here](https://llsoftsec.github.io/llsoftsecbook/#sec:pointer-authentication)).
@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label May 13, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @agocke
See info in area-owners.md if you want to be subscribed.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

cc: @dotnet/arm64-contrib @a74nh@jkotas@dhartglassMSFT

Comment threadsrc/coreclr/vm/excep.cpp Outdated
@jkotas

Copy link
Copy Markdown
Member

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

Use PAL unwinder for UNIX to retrieve signing SP for PAC

Do you plan to do the same on Windows as well?

I thought that would need changes to Windows unwinder that is not part of this repo. Probably didn't understand fully what you had highlighted in earlier comments on how it can be done.

@jkotas

Copy link
Copy Markdown
Member

I thought that would need changes to Windows unwinder that is not part of this repo.

The unwinder under src\coreclr\unwinder is a copy of the Windows unwinder. There has not been a good reason to use it on Windows so far since the copy included with the OS worked just fine. If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

If we have a good reason to use it on Windows in some case, it should be ok to switch to using it on Windows for those cases

Interesting, in this case I can enable the changes for Windows too. Do we need to do anything else to force using this unwinder (in arm64/unwinder.cpp) on Windows Arm64?

@jkotas

Copy link
Copy Markdown
Member

I expect that it may need some build changes.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

@SwapnilGaikwad

Copy link
Copy Markdown
ContributorAuthor

I expect that it may need some build changes.

I'm trying a few things on the original/full PR. When the CI is passing, I'll move the changes over here.

Hi @jkotas , I moved the changes related to switching to PAL unwinder for Windows to this PR. could you take a look at the PR? The stress tests on the full PR didn't show any failures.

Comment threadsrc/coreclr/debug/ee/controller.cpp Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.S Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h Outdated
Comment threadsrc/coreclr/vm/arm64/cgencpu.h
Comment threadsrc/coreclr/unwinder/arm64/unwinder.cpp
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm Outdated
Comment threadsrc/coreclr/vm/arm64/asmhelpers.asm
Comment threadsrc/coreclr/vm/threadsuspend.cpp Outdated

@jkotasjkotas left a comment

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.

LGTM!

@jkotas
jkotas merged commit a4461ef into dotnet:mainJun 2, 2026
114 checks passed
@SwapnilGaikwad
SwapnilGaikwad deleted the github-vm-pac branch June 2, 2026 16:10
@dotnet-milestone-botdotnet-milestone-botBot added this to the 11.0-preview6 milestone Jun 3, 2026
@a74nha74nh mentioned this pull request Jun 3, 2026
20 tasks
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 3, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-VM-coreclrcommunity-contributionIndicates that the PR has been added by a community member

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@SwapnilGaikwad@jkotas@a74nh