]> git.lizzy.rs Git - rust.git/commit
Rollup merge of #77916 - QuiltOS:kernel-code-targets-os-none, r=joshtriplett
authorYuki Okushi <huyuumi.dev@gmail.com>
Sun, 7 Mar 2021 01:41:04 +0000 (10:41 +0900)
committerGitHub <noreply@github.com>
Sun, 7 Mar 2021 01:41:04 +0000 (10:41 +0900)
commitd1dc16623f9e143ec67b41e8392ae8906abb44e0
tree5bead48e715e154fe68bcd189b26f439d7f25df5
parentdfe519b344b60e54a2028d3366ca366a228537e3
parent9d25ccf0e8dd69f4086ad8b59bb8785318926b05
Rollup merge of #77916 - QuiltOS:kernel-code-targets-os-none, r=joshtriplett

Change built-in kernel targets to be os = none throughout

Whether for Rust's own `target_os`, LLVM's triples, or GNU config's, the
OS-related have fields have been for code running *on* that OS, not code
hat is *part* of the OS.

The difference is huge, as syscall interfaces are nothing like
freestanding interfaces. Kernels are (hypervisors and other more exotic
situations aside) freestanding programs that use the interfaces provided
by the hardware. It's *those* interfaces, the ones external to the
program being built and its software dependencies, that are the content
of the target.

For the Linux Kernel in particular, `target_env: "gnu"` is removed for
the same reason: that `-gnu` refers to glibc or GNU/linux, neither of
which applies to the kernel itself.

Relates to #74247