Rollup merge of #145241 - tomtor:avr-layout, r=nikic

[AVR] Changed data_layout

This change is required when

97f0ff0c80

gets included in the Rust llvm tree, because it changes the AVR data-layout
This commit is contained in:
Guillaume Gomez 2025-08-13 18:43:02 +02:00 committed by GitHub
commit a6146fddcf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 7 additions and 1 deletions

View file

@ -213,6 +213,12 @@ pub(crate) unsafe fn create_module<'ll>(
target_data_layout = target_data_layout.replace("p8:128:128:128:48", "p8:128:128")
}
}
if llvm_version < (22, 0, 0) {
if sess.target.arch == "avr" {
// LLVM 22.0 updated the default layout on avr: https://github.com/llvm/llvm-project/pull/153010
target_data_layout = target_data_layout.replace("n8:16", "n8")
}
}
// Ensure the data-layout values hardcoded remain the defaults.
{

View file

@ -9,7 +9,7 @@ pub(crate) fn target() -> Target {
host_tools: None,
std: None,
},
data_layout: "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8".into(),
data_layout: "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8:16-a:8".into(),
llvm_target: "avr-unknown-unknown".into(),
pointer_width: 16,
options: TargetOptions {