The difference between the existing .json file and new target spec can be viewed using cargo t --manifest-path compiler/rustc_target/Cargo.toml -- --nocapture and manually diffing the two debug outputs. The first is the original .json file, and the second is the updated target.
has_thread_local was changed to true because as far as I understand, theseus supports thread locals. hermit sets llvm-target to "x86_64-unknown-hermit" (compiler/rustc_target/src/spec/x86_64_unknown_hermit.rs) so I don't think it matters.
Prior to merging, the following testing changes need to be reverted:
The target is based on
Theseus/cfg/x86_64-theseus.json
.The difference between the existing
.json
file and new target spec can be viewed usingcargo t --manifest-path compiler/rustc_target/Cargo.toml -- --nocapture
and manually diffing the two debug outputs. The first is the original.json
file, and the second is the updated target.has_thread_local
was changed totrue
because as far as I understand,theseus
supports thread locals.hermit
setsllvm-target
to"x86_64-unknown-hermit"
(compiler/rustc_target/src/spec/x86_64_unknown_hermit.rs
) so I don't think it matters.Prior to merging, the following testing changes need to be reverted:
Cargo.toml
excludesupported_targets
macro making modules publictheseus_target
test