Fix build break on linux-armel - #115767

Merged
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break
May 20, 2025
Merged

Fix build break on linux-armel#115767
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings May 20, 2025 08:24

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR suppresses unused-parameter warnings for DSA parameters on Linux ARMEL to fix a build break.

  • Adds void casts for hasSeed and hasSecretKey in CryptoNative_MLDsaGetPalId.

@jkotas

Copy link
Copy Markdown
MemberAuthor

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1046111&view=logs&jobId=2eda3965-9146-55d1-4226-c3d3f8432d8f&j=2eda3965-9146-55d1-4226-c3d3f8432d8f&t=27bbe0a6-6c05-550a-bc6f-305cf5eac8aa

 [ 10%] Building C object /__w/1/s/artifacts/obj/external/libunwind/CMakeFiles/libunwind.dir/__w/1/s/src/native/external/libunwind/src/arm/Linit_local.c.o
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:85: error: unused parameter 'hasSeed' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:103: error: unused parameter 'hasSecretKey' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
2 errors generated.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@jkotas
jkotas enabled auto-merge (squash) May 20, 2025 09:05
@vcsjonesvcsjones mentioned this pull request May 20, 2025
Comment threadsrc/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c Outdated
…ey_ml_dsa.c
Co-authored-by: Kevin Jones <vcsjones@github.com>
@elinor-fung

Copy link
Copy Markdown
Member

The linux-armel leg didn't run in the original PR and is skipped in this one too. Should we be including src/native/libs/System.Security.Cryptography.Native/* in the paths for coreclr changes?

- subset: coreclr
include:
- src/libraries/System.Private.CoreLib/*
- src/native/libs/Common/*
- src/native/libs/System.Globalization.Native/*
- src/native/libs/System.IO.Compression.Native/*
exclude:

It is only used on non-Windows, so it might be broader than necessary - but I don't think our path evaluation makes that distinction.

@bartonjs

Copy link
Copy Markdown
Member

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

@jkotas

Copy link
Copy Markdown
MemberAuthor

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

I think that the crux of the problem is that we have tiered validation system and that we do not expect to catch all breaks in the CI early. The question is whether catching this specific build break early is worth the extra CI cost, time and flakiness on many PRs.

I went back and forth on this. If we want to do something about this, it is best to do that in a separate PR.

@bartonjs

Copy link
Copy Markdown
Member

and flakiness

Yeah, that's why I walked it back to saying my interest is about "build", not "test".

The question is whether catching this specific build break early is worth the extra CI cost

I think it's rare enough that "no" is a fine answer. I'm more saying if something is done, it is about "build everywhere", and that if we think running tests are relevant we should run the relevant tests (in this case, it'd be a libraries concern, not a CLR concern).

If we want to do something about this, it is best to do that in a separate PR.

I agree.

@elinor-fung

Copy link
Copy Markdown
Member

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

Part of this is that the coreclr subset includes singlefilehost, which pulls in the src/native/libs - so in that sense, it is the build portion (I think the specific leg that would have hit this only builds). But yeah, if we do something here, we probably want a build vs test distinction.

If we want to do something about this, it is best to do that in a separate PR.

Agreed

@jkotas
jkotas disabled auto-merge May 20, 2025 20:18
@jkotas
jkotas merged commit afe0093 into dotnet:mainMay 20, 2025
@jkotas
jkotas deleted the build-break branch May 20, 2025 20:19
SimaTian pushed a commit that referenced this pull request May 27, 2025
* Fix build break on linux-armel
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jun 20, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jkotas@elinor-fung@bartonjs@vcsjones@jkoritzinsky@jakobbotsch@PranavSenthilnathan
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e 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

Fix build break on linux-armel - #115767

Merged
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break
May 20, 2025
Merged

Fix build break on linux-armel#115767
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings May 20, 2025 08:24

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR suppresses unused-parameter warnings for DSA parameters on Linux ARMEL to fix a build break.

  • Adds void casts for hasSeed and hasSecretKey in CryptoNative_MLDsaGetPalId.

@jkotas

Copy link
Copy Markdown
MemberAuthor

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1046111&view=logs&jobId=2eda3965-9146-55d1-4226-c3d3f8432d8f&j=2eda3965-9146-55d1-4226-c3d3f8432d8f&t=27bbe0a6-6c05-550a-bc6f-305cf5eac8aa

 [ 10%] Building C object /__w/1/s/artifacts/obj/external/libunwind/CMakeFiles/libunwind.dir/__w/1/s/src/native/external/libunwind/src/arm/Linit_local.c.o
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:85: error: unused parameter 'hasSeed' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:103: error: unused parameter 'hasSecretKey' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
2 errors generated.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@jkotas
jkotas enabled auto-merge (squash) May 20, 2025 09:05
@vcsjonesvcsjones mentioned this pull request May 20, 2025
Comment threadsrc/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c Outdated
…ey_ml_dsa.c
Co-authored-by: Kevin Jones <vcsjones@github.com>
@elinor-fung

Copy link
Copy Markdown
Member

The linux-armel leg didn't run in the original PR and is skipped in this one too. Should we be including src/native/libs/System.Security.Cryptography.Native/* in the paths for coreclr changes?

- subset: coreclr
include:
- src/libraries/System.Private.CoreLib/*
- src/native/libs/Common/*
- src/native/libs/System.Globalization.Native/*
- src/native/libs/System.IO.Compression.Native/*
exclude:

It is only used on non-Windows, so it might be broader than necessary - but I don't think our path evaluation makes that distinction.

@bartonjs

Copy link
Copy Markdown
Member

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

@jkotas

Copy link
Copy Markdown
MemberAuthor

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

I think that the crux of the problem is that we have tiered validation system and that we do not expect to catch all breaks in the CI early. The question is whether catching this specific build break early is worth the extra CI cost, time and flakiness on many PRs.

I went back and forth on this. If we want to do something about this, it is best to do that in a separate PR.

@bartonjs

Copy link
Copy Markdown
Member

and flakiness

Yeah, that's why I walked it back to saying my interest is about "build", not "test".

The question is whether catching this specific build break early is worth the extra CI cost

I think it's rare enough that "no" is a fine answer. I'm more saying if something is done, it is about "build everywhere", and that if we think running tests are relevant we should run the relevant tests (in this case, it'd be a libraries concern, not a CLR concern).

If we want to do something about this, it is best to do that in a separate PR.

I agree.

@elinor-fung

Copy link
Copy Markdown
Member

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

Part of this is that the coreclr subset includes singlefilehost, which pulls in the src/native/libs - so in that sense, it is the build portion (I think the specific leg that would have hit this only builds). But yeah, if we do something here, we probably want a build vs test distinction.

If we want to do something about this, it is best to do that in a separate PR.

Agreed

@jkotas
jkotas disabled auto-merge May 20, 2025 20:18
@jkotas
jkotas merged commit afe0093 into dotnet:mainMay 20, 2025
@jkotas
jkotas deleted the build-break branch May 20, 2025 20:19
SimaTian pushed a commit that referenced this pull request May 27, 2025
* Fix build break on linux-armel
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jun 20, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jkotas@elinor-fung@bartonjs@vcsjones@jkoritzinsky@jakobbotsch@PranavSenthilnathan
, '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

Fix build break on linux-armel - #115767

Merged
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break
May 20, 2025
Merged

Fix build break on linux-armel#115767
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings May 20, 2025 08:24

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR suppresses unused-parameter warnings for DSA parameters on Linux ARMEL to fix a build break.

  • Adds void casts for hasSeed and hasSecretKey in CryptoNative_MLDsaGetPalId.

@jkotas

Copy link
Copy Markdown
MemberAuthor

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1046111&view=logs&jobId=2eda3965-9146-55d1-4226-c3d3f8432d8f&j=2eda3965-9146-55d1-4226-c3d3f8432d8f&t=27bbe0a6-6c05-550a-bc6f-305cf5eac8aa

 [ 10%] Building C object /__w/1/s/artifacts/obj/external/libunwind/CMakeFiles/libunwind.dir/__w/1/s/src/native/external/libunwind/src/arm/Linit_local.c.o
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:85: error: unused parameter 'hasSeed' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:103: error: unused parameter 'hasSecretKey' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
2 errors generated.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@jkotas
jkotas enabled auto-merge (squash) May 20, 2025 09:05
@vcsjonesvcsjones mentioned this pull request May 20, 2025
Comment threadsrc/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c Outdated
…ey_ml_dsa.c
Co-authored-by: Kevin Jones <vcsjones@github.com>
@elinor-fung

Copy link
Copy Markdown
Member

The linux-armel leg didn't run in the original PR and is skipped in this one too. Should we be including src/native/libs/System.Security.Cryptography.Native/* in the paths for coreclr changes?

- subset: coreclr
include:
- src/libraries/System.Private.CoreLib/*
- src/native/libs/Common/*
- src/native/libs/System.Globalization.Native/*
- src/native/libs/System.IO.Compression.Native/*
exclude:

It is only used on non-Windows, so it might be broader than necessary - but I don't think our path evaluation makes that distinction.

@bartonjs

Copy link
Copy Markdown
Member

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

@jkotas

Copy link
Copy Markdown
MemberAuthor

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

I think that the crux of the problem is that we have tiered validation system and that we do not expect to catch all breaks in the CI early. The question is whether catching this specific build break early is worth the extra CI cost, time and flakiness on many PRs.

I went back and forth on this. If we want to do something about this, it is best to do that in a separate PR.

@bartonjs

Copy link
Copy Markdown
Member

and flakiness

Yeah, that's why I walked it back to saying my interest is about "build", not "test".

The question is whether catching this specific build break early is worth the extra CI cost

I think it's rare enough that "no" is a fine answer. I'm more saying if something is done, it is about "build everywhere", and that if we think running tests are relevant we should run the relevant tests (in this case, it'd be a libraries concern, not a CLR concern).

If we want to do something about this, it is best to do that in a separate PR.

I agree.

@elinor-fung

Copy link
Copy Markdown
Member

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

Part of this is that the coreclr subset includes singlefilehost, which pulls in the src/native/libs - so in that sense, it is the build portion (I think the specific leg that would have hit this only builds). But yeah, if we do something here, we probably want a build vs test distinction.

If we want to do something about this, it is best to do that in a separate PR.

Agreed

@jkotas
jkotas disabled auto-merge May 20, 2025 20:18
@jkotas
jkotas merged commit afe0093 into dotnet:mainMay 20, 2025
@jkotas
jkotas deleted the build-break branch May 20, 2025 20:19
SimaTian pushed a commit that referenced this pull request May 27, 2025
* Fix build break on linux-armel
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jun 20, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jkotas@elinor-fung@bartonjs@vcsjones@jkoritzinsky@jakobbotsch@PranavSenthilnathan
, '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 \u003e 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

Fix build break on linux-armel - #115767

Merged
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break
May 20, 2025
Merged

Fix build break on linux-armel#115767
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings May 20, 2025 08:24

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR suppresses unused-parameter warnings for DSA parameters on Linux ARMEL to fix a build break.

  • Adds void casts for hasSeed and hasSecretKey in CryptoNative_MLDsaGetPalId.

@jkotas

Copy link
Copy Markdown
MemberAuthor

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1046111&view=logs&jobId=2eda3965-9146-55d1-4226-c3d3f8432d8f&j=2eda3965-9146-55d1-4226-c3d3f8432d8f&t=27bbe0a6-6c05-550a-bc6f-305cf5eac8aa

 [ 10%] Building C object /__w/1/s/artifacts/obj/external/libunwind/CMakeFiles/libunwind.dir/__w/1/s/src/native/external/libunwind/src/arm/Linit_local.c.o
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:85: error: unused parameter 'hasSeed' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:103: error: unused parameter 'hasSecretKey' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
2 errors generated.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@jkotas
jkotas enabled auto-merge (squash) May 20, 2025 09:05
@vcsjonesvcsjones mentioned this pull request May 20, 2025
Comment threadsrc/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c Outdated
…ey_ml_dsa.c
Co-authored-by: Kevin Jones <vcsjones@github.com>
@elinor-fung

Copy link
Copy Markdown
Member

The linux-armel leg didn't run in the original PR and is skipped in this one too. Should we be including src/native/libs/System.Security.Cryptography.Native/* in the paths for coreclr changes?

- subset: coreclr
include:
- src/libraries/System.Private.CoreLib/*
- src/native/libs/Common/*
- src/native/libs/System.Globalization.Native/*
- src/native/libs/System.IO.Compression.Native/*
exclude:

It is only used on non-Windows, so it might be broader than necessary - but I don't think our path evaluation makes that distinction.

@bartonjs

Copy link
Copy Markdown
Member

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

@jkotas

Copy link
Copy Markdown
MemberAuthor

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

I think that the crux of the problem is that we have tiered validation system and that we do not expect to catch all breaks in the CI early. The question is whether catching this specific build break early is worth the extra CI cost, time and flakiness on many PRs.

I went back and forth on this. If we want to do something about this, it is best to do that in a separate PR.

@bartonjs

Copy link
Copy Markdown
Member

and flakiness

Yeah, that's why I walked it back to saying my interest is about "build", not "test".

The question is whether catching this specific build break early is worth the extra CI cost

I think it's rare enough that "no" is a fine answer. I'm more saying if something is done, it is about "build everywhere", and that if we think running tests are relevant we should run the relevant tests (in this case, it'd be a libraries concern, not a CLR concern).

If we want to do something about this, it is best to do that in a separate PR.

I agree.

@elinor-fung

Copy link
Copy Markdown
Member

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

Part of this is that the coreclr subset includes singlefilehost, which pulls in the src/native/libs - so in that sense, it is the build portion (I think the specific leg that would have hit this only builds). But yeah, if we do something here, we probably want a build vs test distinction.

If we want to do something about this, it is best to do that in a separate PR.

Agreed

@jkotas
jkotas disabled auto-merge May 20, 2025 20:18
@jkotas
jkotas merged commit afe0093 into dotnet:mainMay 20, 2025
@jkotas
jkotas deleted the build-break branch May 20, 2025 20:19
SimaTian pushed a commit that referenced this pull request May 27, 2025
* Fix build break on linux-armel
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jun 20, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jkotas@elinor-fung@bartonjs@vcsjones@jkoritzinsky@jakobbotsch@PranavSenthilnathan
, '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

Fix build break on linux-armel - #115767

Merged
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break
May 20, 2025
Merged

Fix build break on linux-armel#115767
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings May 20, 2025 08:24

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR suppresses unused-parameter warnings for DSA parameters on Linux ARMEL to fix a build break.

  • Adds void casts for hasSeed and hasSecretKey in CryptoNative_MLDsaGetPalId.

@jkotas

Copy link
Copy Markdown
MemberAuthor

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1046111&view=logs&jobId=2eda3965-9146-55d1-4226-c3d3f8432d8f&j=2eda3965-9146-55d1-4226-c3d3f8432d8f&t=27bbe0a6-6c05-550a-bc6f-305cf5eac8aa

 [ 10%] Building C object /__w/1/s/artifacts/obj/external/libunwind/CMakeFiles/libunwind.dir/__w/1/s/src/native/external/libunwind/src/arm/Linit_local.c.o
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:85: error: unused parameter 'hasSeed' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:103: error: unused parameter 'hasSecretKey' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
2 errors generated.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@jkotas
jkotas enabled auto-merge (squash) May 20, 2025 09:05
@vcsjonesvcsjones mentioned this pull request May 20, 2025
Comment threadsrc/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c Outdated
…ey_ml_dsa.c
Co-authored-by: Kevin Jones <vcsjones@github.com>
@elinor-fung

Copy link
Copy Markdown
Member

The linux-armel leg didn't run in the original PR and is skipped in this one too. Should we be including src/native/libs/System.Security.Cryptography.Native/* in the paths for coreclr changes?

- subset: coreclr
include:
- src/libraries/System.Private.CoreLib/*
- src/native/libs/Common/*
- src/native/libs/System.Globalization.Native/*
- src/native/libs/System.IO.Compression.Native/*
exclude:

It is only used on non-Windows, so it might be broader than necessary - but I don't think our path evaluation makes that distinction.

@bartonjs

Copy link
Copy Markdown
Member

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

@jkotas

Copy link
Copy Markdown
MemberAuthor

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

I think that the crux of the problem is that we have tiered validation system and that we do not expect to catch all breaks in the CI early. The question is whether catching this specific build break early is worth the extra CI cost, time and flakiness on many PRs.

I went back and forth on this. If we want to do something about this, it is best to do that in a separate PR.

@bartonjs

Copy link
Copy Markdown
Member

and flakiness

Yeah, that's why I walked it back to saying my interest is about "build", not "test".

The question is whether catching this specific build break early is worth the extra CI cost

I think it's rare enough that "no" is a fine answer. I'm more saying if something is done, it is about "build everywhere", and that if we think running tests are relevant we should run the relevant tests (in this case, it'd be a libraries concern, not a CLR concern).

If we want to do something about this, it is best to do that in a separate PR.

I agree.

@elinor-fung

Copy link
Copy Markdown
Member

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

Part of this is that the coreclr subset includes singlefilehost, which pulls in the src/native/libs - so in that sense, it is the build portion (I think the specific leg that would have hit this only builds). But yeah, if we do something here, we probably want a build vs test distinction.

If we want to do something about this, it is best to do that in a separate PR.

Agreed

@jkotas
jkotas disabled auto-merge May 20, 2025 20:18
@jkotas
jkotas merged commit afe0093 into dotnet:mainMay 20, 2025
@jkotas
jkotas deleted the build-break branch May 20, 2025 20:19
SimaTian pushed a commit that referenced this pull request May 27, 2025
* Fix build break on linux-armel
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jun 20, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jkotas@elinor-fung@bartonjs@vcsjones@jkoritzinsky@jakobbotsch@PranavSenthilnathan
, '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

Fix build break on linux-armel - #115767

Merged
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break
May 20, 2025
Merged

Fix build break on linux-armel#115767
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings May 20, 2025 08:24

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR suppresses unused-parameter warnings for DSA parameters on Linux ARMEL to fix a build break.

  • Adds void casts for hasSeed and hasSecretKey in CryptoNative_MLDsaGetPalId.

@jkotas

Copy link
Copy Markdown
MemberAuthor

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1046111&view=logs&jobId=2eda3965-9146-55d1-4226-c3d3f8432d8f&j=2eda3965-9146-55d1-4226-c3d3f8432d8f&t=27bbe0a6-6c05-550a-bc6f-305cf5eac8aa

 [ 10%] Building C object /__w/1/s/artifacts/obj/external/libunwind/CMakeFiles/libunwind.dir/__w/1/s/src/native/external/libunwind/src/arm/Linit_local.c.o
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:85: error: unused parameter 'hasSeed' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:103: error: unused parameter 'hasSecretKey' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
2 errors generated.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@jkotas
jkotas enabled auto-merge (squash) May 20, 2025 09:05
@vcsjonesvcsjones mentioned this pull request May 20, 2025
Comment threadsrc/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c Outdated
…ey_ml_dsa.c
Co-authored-by: Kevin Jones <vcsjones@github.com>
@elinor-fung

Copy link
Copy Markdown
Member

The linux-armel leg didn't run in the original PR and is skipped in this one too. Should we be including src/native/libs/System.Security.Cryptography.Native/* in the paths for coreclr changes?

- subset: coreclr
include:
- src/libraries/System.Private.CoreLib/*
- src/native/libs/Common/*
- src/native/libs/System.Globalization.Native/*
- src/native/libs/System.IO.Compression.Native/*
exclude:

It is only used on non-Windows, so it might be broader than necessary - but I don't think our path evaluation makes that distinction.

@bartonjs

Copy link
Copy Markdown
Member

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

@jkotas

Copy link
Copy Markdown
MemberAuthor

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

I think that the crux of the problem is that we have tiered validation system and that we do not expect to catch all breaks in the CI early. The question is whether catching this specific build break early is worth the extra CI cost, time and flakiness on many PRs.

I went back and forth on this. If we want to do something about this, it is best to do that in a separate PR.

@bartonjs

Copy link
Copy Markdown
Member

and flakiness

Yeah, that's why I walked it back to saying my interest is about "build", not "test".

The question is whether catching this specific build break early is worth the extra CI cost

I think it's rare enough that "no" is a fine answer. I'm more saying if something is done, it is about "build everywhere", and that if we think running tests are relevant we should run the relevant tests (in this case, it'd be a libraries concern, not a CLR concern).

If we want to do something about this, it is best to do that in a separate PR.

I agree.

@elinor-fung

Copy link
Copy Markdown
Member

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

Part of this is that the coreclr subset includes singlefilehost, which pulls in the src/native/libs - so in that sense, it is the build portion (I think the specific leg that would have hit this only builds). But yeah, if we do something here, we probably want a build vs test distinction.

If we want to do something about this, it is best to do that in a separate PR.

Agreed

@jkotas
jkotas disabled auto-merge May 20, 2025 20:18
@jkotas
jkotas merged commit afe0093 into dotnet:mainMay 20, 2025
@jkotas
jkotas deleted the build-break branch May 20, 2025 20:19
SimaTian pushed a commit that referenced this pull request May 27, 2025
* Fix build break on linux-armel
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jun 20, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jkotas@elinor-fung@bartonjs@vcsjones@jkoritzinsky@jakobbotsch@PranavSenthilnathan
, '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

Fix build break on linux-armel - #115767

Merged
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break
May 20, 2025
Merged

Fix build break on linux-armel#115767
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings May 20, 2025 08:24

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR suppresses unused-parameter warnings for DSA parameters on Linux ARMEL to fix a build break.

  • Adds void casts for hasSeed and hasSecretKey in CryptoNative_MLDsaGetPalId.

@jkotas

Copy link
Copy Markdown
MemberAuthor

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1046111&view=logs&jobId=2eda3965-9146-55d1-4226-c3d3f8432d8f&j=2eda3965-9146-55d1-4226-c3d3f8432d8f&t=27bbe0a6-6c05-550a-bc6f-305cf5eac8aa

 [ 10%] Building C object /__w/1/s/artifacts/obj/external/libunwind/CMakeFiles/libunwind.dir/__w/1/s/src/native/external/libunwind/src/arm/Linit_local.c.o
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:85: error: unused parameter 'hasSeed' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:103: error: unused parameter 'hasSecretKey' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
2 errors generated.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@jkotas
jkotas enabled auto-merge (squash) May 20, 2025 09:05
@vcsjonesvcsjones mentioned this pull request May 20, 2025
Comment threadsrc/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c Outdated
…ey_ml_dsa.c
Co-authored-by: Kevin Jones <vcsjones@github.com>
@elinor-fung

Copy link
Copy Markdown
Member

The linux-armel leg didn't run in the original PR and is skipped in this one too. Should we be including src/native/libs/System.Security.Cryptography.Native/* in the paths for coreclr changes?

- subset: coreclr
include:
- src/libraries/System.Private.CoreLib/*
- src/native/libs/Common/*
- src/native/libs/System.Globalization.Native/*
- src/native/libs/System.IO.Compression.Native/*
exclude:

It is only used on non-Windows, so it might be broader than necessary - but I don't think our path evaluation makes that distinction.

@bartonjs

Copy link
Copy Markdown
Member

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

@jkotas

Copy link
Copy Markdown
MemberAuthor

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

I think that the crux of the problem is that we have tiered validation system and that we do not expect to catch all breaks in the CI early. The question is whether catching this specific build break early is worth the extra CI cost, time and flakiness on many PRs.

I went back and forth on this. If we want to do something about this, it is best to do that in a separate PR.

@bartonjs

Copy link
Copy Markdown
Member

and flakiness

Yeah, that's why I walked it back to saying my interest is about "build", not "test".

The question is whether catching this specific build break early is worth the extra CI cost

I think it's rare enough that "no" is a fine answer. I'm more saying if something is done, it is about "build everywhere", and that if we think running tests are relevant we should run the relevant tests (in this case, it'd be a libraries concern, not a CLR concern).

If we want to do something about this, it is best to do that in a separate PR.

I agree.

@elinor-fung

Copy link
Copy Markdown
Member

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

Part of this is that the coreclr subset includes singlefilehost, which pulls in the src/native/libs - so in that sense, it is the build portion (I think the specific leg that would have hit this only builds). But yeah, if we do something here, we probably want a build vs test distinction.

If we want to do something about this, it is best to do that in a separate PR.

Agreed

@jkotas
jkotas disabled auto-merge May 20, 2025 20:18
@jkotas
jkotas merged commit afe0093 into dotnet:mainMay 20, 2025
@jkotas
jkotas deleted the build-break branch May 20, 2025 20:19
SimaTian pushed a commit that referenced this pull request May 27, 2025
* Fix build break on linux-armel
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jun 20, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jkotas@elinor-fung@bartonjs@vcsjones@jkoritzinsky@jakobbotsch@PranavSenthilnathan
, '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

Fix build break on linux-armel - #115767

Merged
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break
May 20, 2025
Merged

Fix build break on linux-armel#115767
jkotas merged 4 commits into
dotnet:mainfrom
jkotas:build-break

Conversation

@jkotas

Copy link
Copy Markdown
Member

No description provided.

CopilotAI review requested due to automatic review settings May 20, 2025 08:24

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull Request Overview

This PR suppresses unused-parameter warnings for DSA parameters on Linux ARMEL to fix a build break.

  • Adds void casts for hasSeed and hasSecretKey in CryptoNative_MLDsaGetPalId.

@jkotas

Copy link
Copy Markdown
MemberAuthor

https://dev.azure.com/dnceng-public/public/_build/results?buildId=1046111&view=logs&jobId=2eda3965-9146-55d1-4226-c3d3f8432d8f&j=2eda3965-9146-55d1-4226-c3d3f8432d8f&t=27bbe0a6-6c05-550a-bc6f-305cf5eac8aa

 [ 10%] Building C object /__w/1/s/artifacts/obj/external/libunwind/CMakeFiles/libunwind.dir/__w/1/s/src/native/external/libunwind/src/arm/Linit_local.c.o
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:85: error: unused parameter 'hasSeed' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
/__w/1/s/src/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c:10:103: error: unused parameter 'hasSecretKey' [-Werror,-Wunused-parameter]
10 | int32_t CryptoNative_MLDsaGetPalId(const EVP_PKEY* pKey, int32_t* mldsaId, int32_t* hasSeed, int32_t* hasSecretKey)
| ^
2 errors generated.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.

@jkotas
jkotas enabled auto-merge (squash) May 20, 2025 09:05
@vcsjonesvcsjones mentioned this pull request May 20, 2025
Comment threadsrc/native/libs/System.Security.Cryptography.Native/pal_evp_pkey_ml_dsa.c Outdated
…ey_ml_dsa.c
Co-authored-by: Kevin Jones <vcsjones@github.com>
@elinor-fung

Copy link
Copy Markdown
Member

The linux-armel leg didn't run in the original PR and is skipped in this one too. Should we be including src/native/libs/System.Security.Cryptography.Native/* in the paths for coreclr changes?

- subset: coreclr
include:
- src/libraries/System.Private.CoreLib/*
- src/native/libs/Common/*
- src/native/libs/System.Globalization.Native/*
- src/native/libs/System.IO.Compression.Native/*
exclude:

It is only used on non-Windows, so it might be broader than necessary - but I don't think our path evaluation makes that distinction.

@bartonjs

Copy link
Copy Markdown
Member

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

@jkotas

Copy link
Copy Markdown
MemberAuthor

That might be the most expedient fix; but I think really it means that there should be a configuration group ("thing") that runs the libraries tests on "all relevant architectures" for any change under src/native/libs/.

I think that the crux of the problem is that we have tiered validation system and that we do not expect to catch all breaks in the CI early. The question is whether catching this specific build break early is worth the extra CI cost, time and flakiness on many PRs.

I went back and forth on this. If we want to do something about this, it is best to do that in a separate PR.

@bartonjs

Copy link
Copy Markdown
Member

and flakiness

Yeah, that's why I walked it back to saying my interest is about "build", not "test".

The question is whether catching this specific build break early is worth the extra CI cost

I think it's rare enough that "no" is a fine answer. I'm more saying if something is done, it is about "build everywhere", and that if we think running tests are relevant we should run the relevant tests (in this case, it'd be a libraries concern, not a CLR concern).

If we want to do something about this, it is best to do that in a separate PR.

I agree.

@elinor-fung

Copy link
Copy Markdown
Member

The CLR tests aren't really relevant to this change... they just happen to be the only group that causes the armel build to run.

And, really, it's not so much the "run tests" as "build". So any change under src/native/ really seems like it should be "build everywhere".

Part of this is that the coreclr subset includes singlefilehost, which pulls in the src/native/libs - so in that sense, it is the build portion (I think the specific leg that would have hit this only builds). But yeah, if we do something here, we probably want a build vs test distinction.

If we want to do something about this, it is best to do that in a separate PR.

Agreed

@jkotas
jkotas disabled auto-merge May 20, 2025 20:18
@jkotas
jkotas merged commit afe0093 into dotnet:mainMay 20, 2025
@jkotas
jkotas deleted the build-break branch May 20, 2025 20:19
SimaTian pushed a commit that referenced this pull request May 27, 2025
* Fix build break on linux-armel
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jun 20, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jkotas@elinor-fung@bartonjs@vcsjones@jkoritzinsky@jakobbotsch@PranavSenthilnathan