| When building for the target, some build paths end up embedded in the binaries. |
| These changes remove that. Further investigation is needed to work out the way |
| to resolve these issues properly upstream. |
| |
| Upstream-Status: Inappropriate [patches need rework] |
| Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
| |
| Index: rustc-1.66.0-src/compiler/rustc_codegen_llvm/src/context.rs |
| =================================================================== |
| --- rustc-1.66.0-src.orig/compiler/rustc_codegen_llvm/src/context.rs |
| +++ rustc-1.66.0-src/compiler/rustc_codegen_llvm/src/context.rs |
| @@ -160,46 +160,6 @@ pub unsafe fn create_module<'ll>( |
| } |
| } |
| |
| - // Ensure the data-layout values hardcoded remain the defaults. |
| - if sess.target.is_builtin { |
| - let tm = crate::back::write::create_informational_target_machine(tcx.sess); |
| - llvm::LLVMRustSetDataLayoutFromTargetMachine(llmod, tm); |
| - llvm::LLVMRustDisposeTargetMachine(tm); |
| - |
| - let llvm_data_layout = llvm::LLVMGetDataLayoutStr(llmod); |
| - let llvm_data_layout = str::from_utf8(CStr::from_ptr(llvm_data_layout).to_bytes()) |
| - .expect("got a non-UTF8 data-layout from LLVM"); |
| - |
| - // Unfortunately LLVM target specs change over time, and right now we |
| - // don't have proper support to work with any more than one |
| - // `data_layout` than the one that is in the rust-lang/rust repo. If |
| - // this compiler is configured against a custom LLVM, we may have a |
| - // differing data layout, even though we should update our own to use |
| - // that one. |
| - // |
| - // As an interim hack, if CFG_LLVM_ROOT is not an empty string then we |
| - // disable this check entirely as we may be configured with something |
| - // that has a different target layout. |
| - // |
| - // Unsure if this will actually cause breakage when rustc is configured |
| - // as such. |
| - // |
| - // FIXME(#34960) |
| - let cfg_llvm_root = option_env!("CFG_LLVM_ROOT").unwrap_or(""); |
| - let custom_llvm_used = cfg_llvm_root.trim() != ""; |
| - |
| - if !custom_llvm_used && target_data_layout != llvm_data_layout { |
| - bug!( |
| - "data-layout for target `{rustc_target}`, `{rustc_layout}`, \ |
| - differs from LLVM target's `{llvm_target}` default layout, `{llvm_layout}`", |
| - rustc_target = sess.opts.target_triple, |
| - rustc_layout = target_data_layout, |
| - llvm_target = sess.target.llvm_target, |
| - llvm_layout = llvm_data_layout |
| - ); |
| - } |
| - } |
| - |
| let data_layout = SmallCStr::new(&target_data_layout); |
| llvm::LLVMSetDataLayout(llmod, data_layout.as_ptr()); |
| |