Don't try bypassing `uname` for CPU detection on Mac (#49992)
authorJo Shields <directhex@apebox.org>
Mon, 22 Mar 2021 19:51:57 +0000 (15:51 -0400)
committerGitHub <noreply@github.com>
Mon, 22 Mar 2021 19:51:57 +0000 (15:51 -0400)
commit727996e849c59f668208d74d5955a9200267011b
treed07120ca34d74a719ea8f73623ab95c95afc8c24
parentee2d515e5348da8119dc3de504d9d394c62cfa23
Don't try bypassing `uname` for CPU detection on Mac (#49992)

On Apple Silicon, the command `arch -x86_64 XYZ` allows executing XYZ
as if on an AMD64 CPU, rather than an ARMv8 CPU, for cases where both
are possible (e.g. a shell script like build.sh).

The deleted lines of code bypass the lies `arch` writes into uname,
and instead forcibly detects the true nature of the host system's CPU
regardless of whether or not the developer has reasons to lie.

Whilst this trick was important in the early days of bringing up
Apple Silicon support, it should hopefully now be obsolete.

This fixes linking of LLVM in Mono runtime builds, where
`arch -x86_64 ./build.sh -arch x64` would still attempt to link
against ARM64 LLVM.
eng/native/init-os-and-arch.sh