diff --git a/cargo-bpf/src/build.rs b/cargo-bpf/src/build.rs index 7db67176..0a8c5edb 100644 --- a/cargo-bpf/src/build.rs +++ b/cargo-bpf/src/build.rs @@ -108,7 +108,7 @@ fn build_probe(cargo: &Path, package: &Path, target_dir: &Path, probe: &str) -> .arg("--cfg") .arg(version) .args( - "--emit=llvm-bc -C panic=abort -C lto -C link-arg=-nostartfiles -C opt-level=3" + "--emit=llvm-bc -C panic=abort -C lto -C link-arg=-nostartfiles -C opt-level=3 -C debuginfo=2" .split(' '), ) .arg("-o") diff --git a/cargo-bpf/src/llvm.rs b/cargo-bpf/src/llvm.rs index 57515b8f..1a52d1a1 100644 --- a/cargo-bpf/src/llvm.rs +++ b/cargo-bpf/src/llvm.rs @@ -1,7 +1,6 @@ use anyhow::{anyhow, Result}; use llvm_sys::bit_writer::LLVMWriteBitcodeToFile; use llvm_sys::core::*; -use llvm_sys::debuginfo::LLVMStripModuleDebugInfo; use llvm_sys::ir_reader::LLVMParseIRInContext; use llvm_sys::prelude::*; use llvm_sys::target::*; @@ -131,10 +130,6 @@ pub unsafe fn process_ir(context: LLVMContextRef, module: LLVMModuleRef) -> Resu func = LLVMGetNextFunction(func); } - // the debug info generated by rustc seems to trigger a segfault in the - // BTF code in llvm, so strip it until that is fixed - LLVMStripModuleDebugInfo(module); - Ok(()) }