//go:build linux && arm64 // +build linux,arm64 package ebpftracer import ( "embed" "fmt" "golang.org/x/mod/semver" ) //go:embed ebpf/bin/arm64 var binData embed.FS func EbpfCode(v string) (string, []byte, error) { var filePath string var err error versions := []string{"v5.12", "v5.6", "v4.20", "v4.16"} for _, version := range versions { if semver.Compare(v, version) >= 0 { filePath = fmt.Sprintf("ebpf/bin/arm64/%s_arm64.o", version) break } } // Construct the full path to the desired file data, err := binData.ReadFile(filePath) if err != nil { return "", nil, err } return filePath, data, nil }