Jelajahi Sumber

aya-build: enable BTF

Tamir Duberstein 3 minggu lalu
induk
melakukan
eab5661a0e
2 mengubah file dengan 13 tambahan dan 4 penghapusan
  1. 0 4
      Cargo.toml
  2. 13 0
      aya-build/src/lib.rs

+ 0 - 4
Cargo.toml

@@ -114,7 +114,3 @@ unused_trait_names = "warn"
 
 [workspace.lints.rust]
 unused-extern-crates = "warn"
-
-[profile.release.package.integration-ebpf]
-codegen-units = 1
-debug = 2

+ 13 - 0
aya-build/src/lib.rs

@@ -75,6 +75,19 @@ pub fn build_ebpf(packages: impl IntoIterator<Item = Package>, toolchain: Toolch
         ]);
 
         cmd.env("CARGO_CFG_BPF_TARGET_ARCH", &arch);
+        cmd.env(
+            "CARGO_ENCODED_RUSTFLAGS",
+            ["debuginfo=2", "link-arg=--btf"]
+                .into_iter()
+                .flat_map(|flag| ["-C", flag])
+                .fold(String::new(), |mut acc, flag| {
+                    if !acc.is_empty() {
+                        acc.push('\x1f');
+                    }
+                    acc.push_str(flag);
+                    acc
+                }),
+        );
 
         // Workaround to make sure that the correct toolchain is used.
         for key in ["RUSTC", "RUSTC_WORKSPACE_WRAPPER"] {