From 1fe12b99907dda6553a6069fa462d6241d3fa171 Mon Sep 17 00:00:00 2001 From: Eric Long Date: Wed, 22 Jan 2025 16:03:55 +0800 Subject: [PATCH] Fix aya-ebpf-* riscv64 build (#1139) bpf_target_arch should be riscv64, but target triple starts with riscv64gc (and possibly riscv64 followed by any combination of extensions). --- ebpf/aya-ebpf-bindings/build.rs | 5 ++++- ebpf/aya-ebpf-cty/build.rs | 5 ++++- ebpf/aya-ebpf/build.rs | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ebpf/aya-ebpf-bindings/build.rs b/ebpf/aya-ebpf-bindings/build.rs index e491077d..f61e0146 100644 --- a/ebpf/aya-ebpf-bindings/build.rs +++ b/ebpf/aya-ebpf-bindings/build.rs @@ -6,7 +6,10 @@ fn main() { println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } else { let arch = env::var("HOST").unwrap(); - let arch = arch.split_once('-').map_or(&*arch, |x| x.0); + let mut arch = arch.split_once('-').map_or(&*arch, |x| x.0); + if arch.starts_with("riscv64") { + arch = "riscv64"; + } println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } println!("cargo::rustc-check-cfg=cfg(bpf_target_arch, values(\"x86_64\",\"arm\",\"aarch64\",\"riscv64\",\"powerpc64\",\"s390x\"))"); diff --git a/ebpf/aya-ebpf-cty/build.rs b/ebpf/aya-ebpf-cty/build.rs index 8642bdbe..9567a0dc 100644 --- a/ebpf/aya-ebpf-cty/build.rs +++ b/ebpf/aya-ebpf-cty/build.rs @@ -6,7 +6,10 @@ fn main() { println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } else { let arch = env::var("HOST").unwrap(); - let arch = arch.split_once('-').map_or(&*arch, |x| x.0); + let mut arch = arch.split_once('-').map_or(&*arch, |x| x.0); + if arch.starts_with("riscv64") { + arch = "riscv64"; + } println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } println!("cargo::rustc-check-cfg=cfg(bpf_target_arch, values(\"x86_64\",\"arm\",\"aarch64\",\"riscv64\",\"powerpc64\",\"s390x\"))"); diff --git a/ebpf/aya-ebpf/build.rs b/ebpf/aya-ebpf/build.rs index 38887c3b..fbbdc19f 100644 --- a/ebpf/aya-ebpf/build.rs +++ b/ebpf/aya-ebpf/build.rs @@ -7,7 +7,10 @@ fn main() { println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } else { let arch = env::var("HOST").unwrap(); - let arch = arch.split_once('-').map_or(&*arch, |x| x.0); + let mut arch = arch.split_once('-').map_or(&*arch, |x| x.0); + if arch.starts_with("riscv64") { + arch = "riscv64"; + } println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } println!("cargo::rustc-check-cfg=cfg(bpf_target_arch, values(\"x86_64\",\"arm\",\"aarch64\",\"riscv64\",\"powerpc64\",\"s390x\"))");