Skip to content

eng/common: detect FreeBSD/powerpc64le#17062

Open
pkubaj wants to merge 1 commit into
dotnet:mainfrom
pkubaj:ppc64le-freebsd-eng-common
Open

eng/common: detect FreeBSD/powerpc64le#17062
pkubaj wants to merge 1 commit into
dotnet:mainfrom
pkubaj:ppc64le-freebsd-eng-common

Conversation

@pkubaj

@pkubaj pkubaj commented Jun 29, 2026

Copy link
Copy Markdown

Teaches the shared eng/common native bootstrap to identify FreeBSD on PowerPC. (eng/common is vendored into the product repos from here, so this is the canonical place for the fix.)

  • eng/common/native/init-os-and-arch.sh: on FreeBSD, derive the CPU from uname -p. uname -m returns "powerpc" for every PowerPC variant (32/64-bit, BE/LE), which the existing logic rejects as an unknown CPU. Adds the powerpc64le case.
  • eng/common/cross/toolchain.cmake: emit the FreeBSD clang target triple for the ppc64le cross toolchain.

Testing: used to cross-build and then natively source-build the v9.0.115 VMR on FreeBSD/ppc64le. Part of a FreeBSD/powerpc64le (ppc64le) port. Sibling PRs: dotnet/runtime (PAL/platform), dotnet/arcade (eng/common detection), dotnet/sdk, dotnet/fsharp.

I have signed (or will sign on the dnfadmin bot's prompt) the .NET Foundation CLA.

@pkubaj

pkubaj commented Jun 29, 2026

Copy link
Copy Markdown
Author

@dotnet-policy-service agree

* native/init-os-and-arch.sh: on FreeBSD use `uname -p` to determine the
  CPU (uname -m returns "powerpc" for every PowerPC variant) and accept
  powerpc64le.
* cross/toolchain.cmake: emit the FreeBSD clang target triple for ppc64le.
@pkubaj pkubaj force-pushed the ppc64le-freebsd-eng-common branch from 95a2557 to f049c53 Compare June 30, 2026 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant