diff options
| author | kxxt <rsworktech@outlook.com> | 2024-01-28 18:38:41 +0800 |
|---|---|---|
| committer | kxxt <rsworktech@outlook.com> | 2024-04-09 05:25:51 +0200 |
| commit | f19c48e7a83ad146f461adfdf1b4288eabbecbc8 (patch) | |
| tree | 2e75cc3d75d9ec95bd6c563297f7840146ddefc8 /compiler/rustc_codegen_llvm/src/llvm | |
| parent | f65f84feb0c299ba926f57b998f03f61d3382464 (diff) | |
| download | rust-f19c48e7a83ad146f461adfdf1b4288eabbecbc8.tar.gz rust-f19c48e7a83ad146f461adfdf1b4288eabbecbc8.zip | |
Set target-abi module flag for RISC-V targets
Fixes cross-language LTO on RISC-V targets (Fixes #121924)
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs index 284bc74d5c4..7aa9a9547dc 100644 --- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs +++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs @@ -1801,12 +1801,20 @@ extern "C" { /// /// In order for Rust-C LTO to work, module flags must be compatible with Clang. What /// "compatible" means depends on the merge behaviors involved. - pub fn LLVMRustAddModuleFlag( + pub fn LLVMRustAddModuleFlagU32( M: &Module, merge_behavior: LLVMModFlagBehavior, name: *const c_char, value: u32, ); + + pub fn LLVMRustAddModuleFlagString( + M: &Module, + merge_behavior: LLVMModFlagBehavior, + name: *const c_char, + value: *const c_char, + ); + pub fn LLVMRustHasModuleFlag(M: &Module, name: *const c_char, len: size_t) -> bool; pub fn LLVMRustDIBuilderCreate(M: &Module) -> &mut DIBuilder<'_>; |
