target: fix powerpc64-unknown-linux-musl datalayout

In LLVM 17, PowerPC targets started including function pointer alignments
in data layouts, and in Rust's update to that version (#114048), we added
the function pointer alignments. `powerpc64-unknown-linux-musl` had
`Fi64` set but this seems incorrect, and the code in LLVM would always
have computed `Fn32` because it is a MUSL target.

Signed-off-by: David Wood <david@davidtw.co>
This commit is contained in:
David Wood 2024-01-17 10:38:50 +00:00
parent a87034c297
commit 12c19a2bb7
No known key found for this signature in database

View File

@ -11,7 +11,7 @@ pub fn target() -> Target {
Target { Target {
llvm_target: "powerpc64-unknown-linux-musl".into(), llvm_target: "powerpc64-unknown-linux-musl".into(),
pointer_width: 64, pointer_width: 64,
data_layout: "E-m:e-Fi64-i64:64-n32:64-S128-v256:256:256-v512:512:512".into(), data_layout: "E-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512".into(),
arch: "powerpc64".into(), arch: "powerpc64".into(),
options: TargetOptions { endian: Endian::Big, mcount: "_mcount".into(), ..base }, options: TargetOptions { endian: Endian::Big, mcount: "_mcount".into(), ..base },
} }