Skip to content

Add PPC64LE, PPC64, PPC32 baremetal targets. - #160575

Draft
amy-kwan wants to merge 1 commit into
rust-lang:mainfrom
amy-kwan:amy-kwan/add-ppc-baremetal-targets
Draft

Add PPC64LE, PPC64, PPC32 baremetal targets.#160575
amy-kwan wants to merge 1 commit into
rust-lang:mainfrom
amy-kwan:amy-kwan/add-ppc-baremetal-targets

Conversation

@amy-kwan

@amy-kwan amy-kwan commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Draft WIP PR for #158199.

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Aug 5, 2026
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu-miri failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] shlex test:false 0.200
error[E0277]: the trait bound `LlvmAbi: From<&str>` is not satisfied
    --> compiler/rustc_target/src/spec/targets/powerpc_unknown_none.rs:18:30
     |
  18 |         llvm_abiname: "eabi".into(),
     |                              ^^^^ unsatisfied trait bound
     |
help: the trait `From<&str>` is not implemented for `LlvmAbi`
    --> compiler/rustc_target/src/lib.rs:136:9
     |
  71 | /  macro_rules! target_spec_enum {
  72 | |      (
  73 | |          $( #[$attr:meta] )*
  74 | |          pub enum $Name:ident {
...    |
 136 | |/         pub enum $Name {
 137 | ||             $(
 138 | ||                 $( #[$variant_attr:meta] )*
 139 | ||                  $( #[serde(alias = $alias)] )*
...    ||
 151 | ||             $OtherVariant(crate::spec::StaticCow<str>),
 152 | ||         }
     | ||_________^
...    |
 207 | |      };
 208 | |  }
     | |__- in this expansion of `crate::target_spec_enum!`
     |
    ::: compiler/rustc_target/src/spec/mod.rs:2106:1
     |
2106 | /  crate::target_spec_enum! {
2107 | |      /// An enum representing possible values for the `llvm_abiname` field of [`TargetOptions`].
2108 | |      /// This field is used by LLVM on some targets to control which ABI to use.
2109 | |      pub enum LlvmAbi {
...    |
2133 | |      other_variant = Other;
2134 | |  }
     | |__- in this macro invocation
     = note: required for `&str` to implement `Into<LlvmAbi>`

error[E0277]: the trait bound `LlvmAbi: From<&str>` is not satisfied
    --> compiler/rustc_target/src/spec/targets/powerpc64_unknown_none.rs:18:31
     |
  18 |         llvm_abiname: "elfv1".into(),
     |                               ^^^^ unsatisfied trait bound
     |
help: the trait `From<&str>` is not implemented for `LlvmAbi`
    --> compiler/rustc_target/src/lib.rs:136:9
     |
  71 | /  macro_rules! target_spec_enum {
  72 | |      (
  73 | |          $( #[$attr:meta] )*
  74 | |          pub enum $Name:ident {
...    |
 136 | |/         pub enum $Name {
 137 | ||             $(
 138 | ||                 $( #[$variant_attr:meta] )*
 139 | ||                  $( #[serde(alias = $alias)] )*
...    ||
 151 | ||             $OtherVariant(crate::spec::StaticCow<str>),
 152 | ||         }
     | ||_________^
...    |
 207 | |      };
 208 | |  }
     | |__- in this expansion of `crate::target_spec_enum!`
     |
    ::: compiler/rustc_target/src/spec/mod.rs:2106:1
     |
2106 | /  crate::target_spec_enum! {
2107 | |      /// An enum representing possible values for the `llvm_abiname` field of [`TargetOptions`].
2108 | |      /// This field is used by LLVM on some targets to control which ABI to use.
2109 | |      pub enum LlvmAbi {
...    |
2133 | |      other_variant = Other;
2134 | |  }
     | |__- in this macro invocation
     = note: required for `&str` to implement `Into<LlvmAbi>`

error[E0277]: the trait bound `LlvmAbi: From<&str>` is not satisfied
    --> compiler/rustc_target/src/spec/targets/powerpc64le_unknown_none.rs:16:31
     |
  16 |         llvm_abiname: "elfv2".into(),
     |                               ^^^^ unsatisfied trait bound
     |
help: the trait `From<&str>` is not implemented for `LlvmAbi`
    --> compiler/rustc_target/src/lib.rs:136:9
     |
  71 | /  macro_rules! target_spec_enum {
  72 | |      (
  73 | |          $( #[$attr:meta] )*
  74 | |          pub enum $Name:ident {
...    |
 136 | |/         pub enum $Name {
 137 | ||             $(
 138 | ||                 $( #[$variant_attr:meta] )*
 139 | ||                  $( #[serde(alias = $alias)] )*
...    ||
 151 | ||             $OtherVariant(crate::spec::StaticCow<str>),
 152 | ||         }
     | ||_________^
...    |
 207 | |      };
 208 | |  }
     | |__- in this expansion of `crate::target_spec_enum!`
     |
    ::: compiler/rustc_target/src/spec/mod.rs:2106:1
     |
2106 | /  crate::target_spec_enum! {
2107 | |      /// An enum representing possible values for the `llvm_abiname` field of [`TargetOptions`].
2108 | |      /// This field is used by LLVM on some targets to control which ABI to use.
2109 | |      pub enum LlvmAbi {
...    |
2133 | |      other_variant = Other;
2134 | |  }
     | |__- in this macro invocation
     = note: required for `&str` to implement `Into<LlvmAbi>`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants