Skip to content

Commit

Permalink
Fix link failure on AVR (incompatible ISA error)
Browse files Browse the repository at this point in the history
Fixes rust-lang#137739. A reproducer of the issue is present there. I believe the
root cause was introducing the avr-none target (which has no CPU by
default) and trying to get the ISA revision from there. This commit
uses the `target-cpu` option instead, which is already required to be
present for the target.

Co-authored-by: tones111 <tones111@users.noreply.github.com>
  • Loading branch information
LuigiPiucco and tones111 committed Feb 28, 2025
1 parent 60493b8 commit 4c1f51b
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion compiler/rustc_codegen_ssa/src/back/metadata.rs
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,11 @@ pub(crate) fn create_object_file(sess: &Session) -> Option<write::Object<'static
Architecture::Avr => {
// Resolve the ISA revision and set
// the appropriate EF_AVR_ARCH flag.
ef_avr_arch(&sess.target.options.cpu)
if let Some(ref cpu) = sess.opts.cg.target_cpu {
ef_avr_arch(cpu)
} else {
bug!("AVR CPU not explicitly specified")
}
}
Architecture::Csky => {
let e_flags = match sess.target.options.abi.as_ref() {
Expand Down

0 comments on commit 4c1f51b

Please sign in to comment.