From ad7ea8b7e690e6000006b6fde630a2c8c4385019 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 25 Jul 2023 11:24:01 +0200 Subject: Update powerpc data layouts Function pointer alignment is specified since https://reviews.llvm.org/D147016. --- compiler/rustc_codegen_llvm/src/context.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'compiler/rustc_codegen_llvm/src') diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs index 2d23be6cd52..b4f7e20e05d 100644 --- a/compiler/rustc_codegen_llvm/src/context.rs +++ b/compiler/rustc_codegen_llvm/src/context.rs @@ -145,6 +145,17 @@ pub unsafe fn create_module<'ll>( target_data_layout = target_data_layout.replace("-n32:64-", "-n64-"); } } + if llvm_version < (17, 0, 0) { + if sess.target.arch.starts_with("powerpc") { + // LLVM 17 specifies function pointer alignment for ppc: + // https://reviews.llvm.org/D147016 + target_data_layout = target_data_layout + .replace("-Fn32", "") + .replace("-Fi32", "") + .replace("-Fn64", "") + .replace("-Fi64", ""); + } + } // Ensure the data-layout values hardcoded remain the defaults. if sess.target.is_builtin { -- cgit 1.4.1-3-g733a5