Add OpenBSD target - #124776

Merged
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target
Feb 24, 2026
Merged

Add OpenBSD target#124776
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target

Conversation

@sethjackson

Copy link
Copy Markdown
Contributor

Was missing from the OS list.

It doesn't build quite yet but I'm hoping to land some stuff to at least get CoreCLR closer to working.

@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Feb 24, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@akoeplinger

Copy link
Copy Markdown
Member

I saw you opened other PRs (#124774, #124775) as well, I think it'd be good to have a tracking issue like we had for FreeBSD: #14537

/cc @jkotas

@am11

am11 commented Feb 24, 2026

Copy link
Copy Markdown
Member

@sethjackson, the rough porting order for new OS:

  • create a branch in your fork like feature/openbsd-port-full (not for upstream; just accumulated miscellaneous changes)
  • git grep -i freebsd ":/eng' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/minipal' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/external' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/libs' and add openbsd equivalents
  • git grep -i freebsd ":/src/coreclr/pal' and add openbsd equivalents (at this point, make sure PAL tests are passing: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/workflow/testing/coreclr/testing.md#running-pal-tests)
  • Then the actual coreclr port starts, but at this point, you can create feature/openbsd-port-upstream and start upstreaming meaningful chunks

Note that changes which will be made in eng/common directory needs to be upstreamed in https://github.com/dotnet/arcade repo (that automatically syncs that dir here).

Here is the guide: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/design/coreclr/botr/guide-for-porting.md (may contain some outdated/unclear bits but it gives us a good start).

@jkotas

Copy link
Copy Markdown
Member

/ba-g deadletter

@jkotas
jkotas merged commit a7a54a5 into dotnet:mainFeb 24, 2026
157 of 160 checks passed
@sethjackson
sethjackson deleted the add-openbsd-target branch February 24, 2026 17:08
@sethjackson

Copy link
Copy Markdown
ContributorAuthor

@akoeplinger more than happy to make a tracking issue to track OpenBSD support in CoreCLR. Would you like me to make that or would someone on the team need to make it? I'm happy to open it I just won't be able to and write up the details until later this week.

@am11 thanks for the porting instructions! I will be sure to follow along with this as I go.

And thanks for merging @jkotas.

@akoeplinger

Copy link
Copy Markdown
Member

@sethjackson you can open the issue when you're ready, that way it's clear who is driving the effort.

@sethjackson

Copy link
Copy Markdown
ContributorAuthor

Sounds good. Created #124911.

@jkotasjkotas added the os-openbsd OpenBSD OS, currently not officially supported label Feb 27, 2026
@am11am11 mentioned this pull request Feb 27, 2026
iremyux pushed a commit to iremyux/dotnet-runtime that referenced this pull request Mar 2, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 29, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructurecommunity-contributionIndicates that the PR has been added by a community memberos-openbsdOpenBSD OS, currently not officially supported

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@sethjackson@akoeplinger@am11@jkotas
, '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

Add OpenBSD target - #124776

Merged
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target
Feb 24, 2026
Merged

Add OpenBSD target#124776
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target

Conversation

@sethjackson

Copy link
Copy Markdown
Contributor

Was missing from the OS list.

It doesn't build quite yet but I'm hoping to land some stuff to at least get CoreCLR closer to working.

@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Feb 24, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@akoeplinger

Copy link
Copy Markdown
Member

I saw you opened other PRs (#124774, #124775) as well, I think it'd be good to have a tracking issue like we had for FreeBSD: #14537

/cc @jkotas

@am11

am11 commented Feb 24, 2026

Copy link
Copy Markdown
Member

@sethjackson, the rough porting order for new OS:

  • create a branch in your fork like feature/openbsd-port-full (not for upstream; just accumulated miscellaneous changes)
  • git grep -i freebsd ":/eng' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/minipal' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/external' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/libs' and add openbsd equivalents
  • git grep -i freebsd ":/src/coreclr/pal' and add openbsd equivalents (at this point, make sure PAL tests are passing: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/workflow/testing/coreclr/testing.md#running-pal-tests)
  • Then the actual coreclr port starts, but at this point, you can create feature/openbsd-port-upstream and start upstreaming meaningful chunks

Note that changes which will be made in eng/common directory needs to be upstreamed in https://github.com/dotnet/arcade repo (that automatically syncs that dir here).

Here is the guide: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/design/coreclr/botr/guide-for-porting.md (may contain some outdated/unclear bits but it gives us a good start).

@jkotas

Copy link
Copy Markdown
Member

/ba-g deadletter

@jkotas
jkotas merged commit a7a54a5 into dotnet:mainFeb 24, 2026
157 of 160 checks passed
@sethjackson
sethjackson deleted the add-openbsd-target branch February 24, 2026 17:08
@sethjackson

Copy link
Copy Markdown
ContributorAuthor

@akoeplinger more than happy to make a tracking issue to track OpenBSD support in CoreCLR. Would you like me to make that or would someone on the team need to make it? I'm happy to open it I just won't be able to and write up the details until later this week.

@am11 thanks for the porting instructions! I will be sure to follow along with this as I go.

And thanks for merging @jkotas.

@akoeplinger

Copy link
Copy Markdown
Member

@sethjackson you can open the issue when you're ready, that way it's clear who is driving the effort.

@sethjackson

Copy link
Copy Markdown
ContributorAuthor

Sounds good. Created #124911.

@jkotasjkotas added the os-openbsd OpenBSD OS, currently not officially supported label Feb 27, 2026
@am11am11 mentioned this pull request Feb 27, 2026
iremyux pushed a commit to iremyux/dotnet-runtime that referenced this pull request Mar 2, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 29, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructurecommunity-contributionIndicates that the PR has been added by a community memberos-openbsdOpenBSD OS, currently not officially supported

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@sethjackson@akoeplinger@am11@jkotas
, '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

Add OpenBSD target - #124776

Merged
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target
Feb 24, 2026
Merged

Add OpenBSD target#124776
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target

Conversation

@sethjackson

Copy link
Copy Markdown
Contributor

Was missing from the OS list.

It doesn't build quite yet but I'm hoping to land some stuff to at least get CoreCLR closer to working.

@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Feb 24, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@akoeplinger

Copy link
Copy Markdown
Member

I saw you opened other PRs (#124774, #124775) as well, I think it'd be good to have a tracking issue like we had for FreeBSD: #14537

/cc @jkotas

@am11

am11 commented Feb 24, 2026

Copy link
Copy Markdown
Member

@sethjackson, the rough porting order for new OS:

  • create a branch in your fork like feature/openbsd-port-full (not for upstream; just accumulated miscellaneous changes)
  • git grep -i freebsd ":/eng' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/minipal' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/external' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/libs' and add openbsd equivalents
  • git grep -i freebsd ":/src/coreclr/pal' and add openbsd equivalents (at this point, make sure PAL tests are passing: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/workflow/testing/coreclr/testing.md#running-pal-tests)
  • Then the actual coreclr port starts, but at this point, you can create feature/openbsd-port-upstream and start upstreaming meaningful chunks

Note that changes which will be made in eng/common directory needs to be upstreamed in https://github.com/dotnet/arcade repo (that automatically syncs that dir here).

Here is the guide: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/design/coreclr/botr/guide-for-porting.md (may contain some outdated/unclear bits but it gives us a good start).

@jkotas

Copy link
Copy Markdown
Member

/ba-g deadletter

@jkotas
jkotas merged commit a7a54a5 into dotnet:mainFeb 24, 2026
157 of 160 checks passed
@sethjackson
sethjackson deleted the add-openbsd-target branch February 24, 2026 17:08
@sethjackson

Copy link
Copy Markdown
ContributorAuthor

@akoeplinger more than happy to make a tracking issue to track OpenBSD support in CoreCLR. Would you like me to make that or would someone on the team need to make it? I'm happy to open it I just won't be able to and write up the details until later this week.

@am11 thanks for the porting instructions! I will be sure to follow along with this as I go.

And thanks for merging @jkotas.

@akoeplinger

Copy link
Copy Markdown
Member

@sethjackson you can open the issue when you're ready, that way it's clear who is driving the effort.

@sethjackson

Copy link
Copy Markdown
ContributorAuthor

Sounds good. Created #124911.

@jkotasjkotas added the os-openbsd OpenBSD OS, currently not officially supported label Feb 27, 2026
@am11am11 mentioned this pull request Feb 27, 2026
iremyux pushed a commit to iremyux/dotnet-runtime that referenced this pull request Mar 2, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 29, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructurecommunity-contributionIndicates that the PR has been added by a community memberos-openbsdOpenBSD OS, currently not officially supported

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@sethjackson@akoeplinger@am11@jkotas
, '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

Add OpenBSD target - #124776

Merged
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target
Feb 24, 2026
Merged

Add OpenBSD target#124776
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target

Conversation

@sethjackson

Copy link
Copy Markdown
Contributor

Was missing from the OS list.

It doesn't build quite yet but I'm hoping to land some stuff to at least get CoreCLR closer to working.

@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Feb 24, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@akoeplinger

Copy link
Copy Markdown
Member

I saw you opened other PRs (#124774, #124775) as well, I think it'd be good to have a tracking issue like we had for FreeBSD: #14537

/cc @jkotas

@am11

am11 commented Feb 24, 2026

Copy link
Copy Markdown
Member

@sethjackson, the rough porting order for new OS:

  • create a branch in your fork like feature/openbsd-port-full (not for upstream; just accumulated miscellaneous changes)
  • git grep -i freebsd ":/eng' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/minipal' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/external' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/libs' and add openbsd equivalents
  • git grep -i freebsd ":/src/coreclr/pal' and add openbsd equivalents (at this point, make sure PAL tests are passing: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/workflow/testing/coreclr/testing.md#running-pal-tests)
  • Then the actual coreclr port starts, but at this point, you can create feature/openbsd-port-upstream and start upstreaming meaningful chunks

Note that changes which will be made in eng/common directory needs to be upstreamed in https://github.com/dotnet/arcade repo (that automatically syncs that dir here).

Here is the guide: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/design/coreclr/botr/guide-for-porting.md (may contain some outdated/unclear bits but it gives us a good start).

@jkotas

Copy link
Copy Markdown
Member

/ba-g deadletter

@jkotas
jkotas merged commit a7a54a5 into dotnet:mainFeb 24, 2026
157 of 160 checks passed
@sethjackson
sethjackson deleted the add-openbsd-target branch February 24, 2026 17:08
@sethjackson

Copy link
Copy Markdown
ContributorAuthor

@akoeplinger more than happy to make a tracking issue to track OpenBSD support in CoreCLR. Would you like me to make that or would someone on the team need to make it? I'm happy to open it I just won't be able to and write up the details until later this week.

@am11 thanks for the porting instructions! I will be sure to follow along with this as I go.

And thanks for merging @jkotas.

@akoeplinger

Copy link
Copy Markdown
Member

@sethjackson you can open the issue when you're ready, that way it's clear who is driving the effort.

@sethjackson

Copy link
Copy Markdown
ContributorAuthor

Sounds good. Created #124911.

@jkotasjkotas added the os-openbsd OpenBSD OS, currently not officially supported label Feb 27, 2026
@am11am11 mentioned this pull request Feb 27, 2026
iremyux pushed a commit to iremyux/dotnet-runtime that referenced this pull request Mar 2, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 29, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructurecommunity-contributionIndicates that the PR has been added by a community memberos-openbsdOpenBSD OS, currently not officially supported

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@sethjackson@akoeplinger@am11@jkotas
, '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

Add OpenBSD target - #124776

Merged
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target
Feb 24, 2026
Merged

Add OpenBSD target#124776
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target

Conversation

@sethjackson

Copy link
Copy Markdown
Contributor

Was missing from the OS list.

It doesn't build quite yet but I'm hoping to land some stuff to at least get CoreCLR closer to working.

@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Feb 24, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@akoeplinger

Copy link
Copy Markdown
Member

I saw you opened other PRs (#124774, #124775) as well, I think it'd be good to have a tracking issue like we had for FreeBSD: #14537

/cc @jkotas

@am11

am11 commented Feb 24, 2026

Copy link
Copy Markdown
Member

@sethjackson, the rough porting order for new OS:

  • create a branch in your fork like feature/openbsd-port-full (not for upstream; just accumulated miscellaneous changes)
  • git grep -i freebsd ":/eng' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/minipal' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/external' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/libs' and add openbsd equivalents
  • git grep -i freebsd ":/src/coreclr/pal' and add openbsd equivalents (at this point, make sure PAL tests are passing: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/workflow/testing/coreclr/testing.md#running-pal-tests)
  • Then the actual coreclr port starts, but at this point, you can create feature/openbsd-port-upstream and start upstreaming meaningful chunks

Note that changes which will be made in eng/common directory needs to be upstreamed in https://github.com/dotnet/arcade repo (that automatically syncs that dir here).

Here is the guide: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/design/coreclr/botr/guide-for-porting.md (may contain some outdated/unclear bits but it gives us a good start).

@jkotas

Copy link
Copy Markdown
Member

/ba-g deadletter

@jkotas
jkotas merged commit a7a54a5 into dotnet:mainFeb 24, 2026
157 of 160 checks passed
@sethjackson
sethjackson deleted the add-openbsd-target branch February 24, 2026 17:08
@sethjackson

Copy link
Copy Markdown
ContributorAuthor

@akoeplinger more than happy to make a tracking issue to track OpenBSD support in CoreCLR. Would you like me to make that or would someone on the team need to make it? I'm happy to open it I just won't be able to and write up the details until later this week.

@am11 thanks for the porting instructions! I will be sure to follow along with this as I go.

And thanks for merging @jkotas.

@akoeplinger

Copy link
Copy Markdown
Member

@sethjackson you can open the issue when you're ready, that way it's clear who is driving the effort.

@sethjackson

Copy link
Copy Markdown
ContributorAuthor

Sounds good. Created #124911.

@jkotasjkotas added the os-openbsd OpenBSD OS, currently not officially supported label Feb 27, 2026
@am11am11 mentioned this pull request Feb 27, 2026
iremyux pushed a commit to iremyux/dotnet-runtime that referenced this pull request Mar 2, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 29, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructurecommunity-contributionIndicates that the PR has been added by a community memberos-openbsdOpenBSD OS, currently not officially supported

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@sethjackson@akoeplinger@am11@jkotas
, '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

Add OpenBSD target - #124776

Merged
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target
Feb 24, 2026
Merged

Add OpenBSD target#124776
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target

Conversation

@sethjackson

Copy link
Copy Markdown
Contributor

Was missing from the OS list.

It doesn't build quite yet but I'm hoping to land some stuff to at least get CoreCLR closer to working.

@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Feb 24, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@akoeplinger

Copy link
Copy Markdown
Member

I saw you opened other PRs (#124774, #124775) as well, I think it'd be good to have a tracking issue like we had for FreeBSD: #14537

/cc @jkotas

@am11

am11 commented Feb 24, 2026

Copy link
Copy Markdown
Member

@sethjackson, the rough porting order for new OS:

  • create a branch in your fork like feature/openbsd-port-full (not for upstream; just accumulated miscellaneous changes)
  • git grep -i freebsd ":/eng' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/minipal' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/external' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/libs' and add openbsd equivalents
  • git grep -i freebsd ":/src/coreclr/pal' and add openbsd equivalents (at this point, make sure PAL tests are passing: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/workflow/testing/coreclr/testing.md#running-pal-tests)
  • Then the actual coreclr port starts, but at this point, you can create feature/openbsd-port-upstream and start upstreaming meaningful chunks

Note that changes which will be made in eng/common directory needs to be upstreamed in https://github.com/dotnet/arcade repo (that automatically syncs that dir here).

Here is the guide: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/design/coreclr/botr/guide-for-porting.md (may contain some outdated/unclear bits but it gives us a good start).

@jkotas

Copy link
Copy Markdown
Member

/ba-g deadletter

@jkotas
jkotas merged commit a7a54a5 into dotnet:mainFeb 24, 2026
157 of 160 checks passed
@sethjackson
sethjackson deleted the add-openbsd-target branch February 24, 2026 17:08
@sethjackson

Copy link
Copy Markdown
ContributorAuthor

@akoeplinger more than happy to make a tracking issue to track OpenBSD support in CoreCLR. Would you like me to make that or would someone on the team need to make it? I'm happy to open it I just won't be able to and write up the details until later this week.

@am11 thanks for the porting instructions! I will be sure to follow along with this as I go.

And thanks for merging @jkotas.

@akoeplinger

Copy link
Copy Markdown
Member

@sethjackson you can open the issue when you're ready, that way it's clear who is driving the effort.

@sethjackson

Copy link
Copy Markdown
ContributorAuthor

Sounds good. Created #124911.

@jkotasjkotas added the os-openbsd OpenBSD OS, currently not officially supported label Feb 27, 2026
@am11am11 mentioned this pull request Feb 27, 2026
iremyux pushed a commit to iremyux/dotnet-runtime that referenced this pull request Mar 2, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 29, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructurecommunity-contributionIndicates that the PR has been added by a community memberos-openbsdOpenBSD OS, currently not officially supported

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@sethjackson@akoeplinger@am11@jkotas
, '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

Add OpenBSD target - #124776

Merged
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target
Feb 24, 2026
Merged

Add OpenBSD target#124776
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target

Conversation

@sethjackson

Copy link
Copy Markdown
Contributor

Was missing from the OS list.

It doesn't build quite yet but I'm hoping to land some stuff to at least get CoreCLR closer to working.

@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Feb 24, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@akoeplinger

Copy link
Copy Markdown
Member

I saw you opened other PRs (#124774, #124775) as well, I think it'd be good to have a tracking issue like we had for FreeBSD: #14537

/cc @jkotas

@am11

am11 commented Feb 24, 2026

Copy link
Copy Markdown
Member

@sethjackson, the rough porting order for new OS:

  • create a branch in your fork like feature/openbsd-port-full (not for upstream; just accumulated miscellaneous changes)
  • git grep -i freebsd ":/eng' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/minipal' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/external' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/libs' and add openbsd equivalents
  • git grep -i freebsd ":/src/coreclr/pal' and add openbsd equivalents (at this point, make sure PAL tests are passing: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/workflow/testing/coreclr/testing.md#running-pal-tests)
  • Then the actual coreclr port starts, but at this point, you can create feature/openbsd-port-upstream and start upstreaming meaningful chunks

Note that changes which will be made in eng/common directory needs to be upstreamed in https://github.com/dotnet/arcade repo (that automatically syncs that dir here).

Here is the guide: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/design/coreclr/botr/guide-for-porting.md (may contain some outdated/unclear bits but it gives us a good start).

@jkotas

Copy link
Copy Markdown
Member

/ba-g deadletter

@jkotas
jkotas merged commit a7a54a5 into dotnet:mainFeb 24, 2026
157 of 160 checks passed
@sethjackson
sethjackson deleted the add-openbsd-target branch February 24, 2026 17:08
@sethjackson

Copy link
Copy Markdown
ContributorAuthor

@akoeplinger more than happy to make a tracking issue to track OpenBSD support in CoreCLR. Would you like me to make that or would someone on the team need to make it? I'm happy to open it I just won't be able to and write up the details until later this week.

@am11 thanks for the porting instructions! I will be sure to follow along with this as I go.

And thanks for merging @jkotas.

@akoeplinger

Copy link
Copy Markdown
Member

@sethjackson you can open the issue when you're ready, that way it's clear who is driving the effort.

@sethjackson

Copy link
Copy Markdown
ContributorAuthor

Sounds good. Created #124911.

@jkotasjkotas added the os-openbsd OpenBSD OS, currently not officially supported label Feb 27, 2026
@am11am11 mentioned this pull request Feb 27, 2026
iremyux pushed a commit to iremyux/dotnet-runtime that referenced this pull request Mar 2, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 29, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructurecommunity-contributionIndicates that the PR has been added by a community memberos-openbsdOpenBSD OS, currently not officially supported

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@sethjackson@akoeplinger@am11@jkotas
, '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

Add OpenBSD target - #124776

Merged
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target
Feb 24, 2026
Merged

Add OpenBSD target#124776
jkotas merged 1 commit into
dotnet:mainfrom
sethjackson:add-openbsd-target

Conversation

@sethjackson

Copy link
Copy Markdown
Contributor

Was missing from the OS list.

It doesn't build quite yet but I'm hoping to land some stuff to at least get CoreCLR closer to working.

@dotnet-policy-servicedotnet-policy-serviceBot added the community-contribution Indicates that the PR has been added by a community member label Feb 24, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

@akoeplinger

Copy link
Copy Markdown
Member

I saw you opened other PRs (#124774, #124775) as well, I think it'd be good to have a tracking issue like we had for FreeBSD: #14537

/cc @jkotas

@am11

am11 commented Feb 24, 2026

Copy link
Copy Markdown
Member

@sethjackson, the rough porting order for new OS:

  • create a branch in your fork like feature/openbsd-port-full (not for upstream; just accumulated miscellaneous changes)
  • git grep -i freebsd ":/eng' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/minipal' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/external' and add openbsd equivalents
  • git grep -i freebsd ":/src/native/libs' and add openbsd equivalents
  • git grep -i freebsd ":/src/coreclr/pal' and add openbsd equivalents (at this point, make sure PAL tests are passing: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/workflow/testing/coreclr/testing.md#running-pal-tests)
  • Then the actual coreclr port starts, but at this point, you can create feature/openbsd-port-upstream and start upstreaming meaningful chunks

Note that changes which will be made in eng/common directory needs to be upstreamed in https://github.com/dotnet/arcade repo (that automatically syncs that dir here).

Here is the guide: https://github.com/dotnet/runtime/blob/dad73abe3f99871e9dc0be8385fd0a4b0e061f64/docs/design/coreclr/botr/guide-for-porting.md (may contain some outdated/unclear bits but it gives us a good start).

@jkotas

Copy link
Copy Markdown
Member

/ba-g deadletter

@jkotas
jkotas merged commit a7a54a5 into dotnet:mainFeb 24, 2026
157 of 160 checks passed
@sethjackson
sethjackson deleted the add-openbsd-target branch February 24, 2026 17:08
@sethjackson

Copy link
Copy Markdown
ContributorAuthor

@akoeplinger more than happy to make a tracking issue to track OpenBSD support in CoreCLR. Would you like me to make that or would someone on the team need to make it? I'm happy to open it I just won't be able to and write up the details until later this week.

@am11 thanks for the porting instructions! I will be sure to follow along with this as I go.

And thanks for merging @jkotas.

@akoeplinger

Copy link
Copy Markdown
Member

@sethjackson you can open the issue when you're ready, that way it's clear who is driving the effort.

@sethjackson

Copy link
Copy Markdown
ContributorAuthor

Sounds good. Created #124911.

@jkotasjkotas added the os-openbsd OpenBSD OS, currently not officially supported label Feb 27, 2026
@am11am11 mentioned this pull request Feb 27, 2026
iremyux pushed a commit to iremyux/dotnet-runtime that referenced this pull request Mar 2, 2026
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Mar 29, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructurecommunity-contributionIndicates that the PR has been added by a community memberos-openbsdOpenBSD OS, currently not officially supported

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants

@sethjackson@akoeplinger@am11@jkotas