bindata_linux_arm64.go 632 B

1234567891011121314151617181920212223242526272829303132
  1. //go:build linux && arm64
  2. // +build linux,arm64
  3. package ebpftracer
  4. import (
  5. "embed"
  6. "fmt"
  7. "golang.org/x/mod/semver"
  8. )
  9. //go:embed ebpf/bin/arm64
  10. var binData embed.FS
  11. func EbpfCode(v string) (string, []byte, error) {
  12. var filePath string
  13. var err error
  14. versions := []string{"v5.12", "v5.6", "v4.20", "v4.16"}
  15. for _, version := range versions {
  16. if semver.Compare(v, version) >= 0 {
  17. filePath = fmt.Sprintf("ebpf/bin/arm64/%s_arm64.o", version)
  18. break
  19. }
  20. }
  21. // Construct the full path to the desired file
  22. data, err := binData.ReadFile(filePath)
  23. if err != nil {
  24. return "", nil, err
  25. }
  26. return filePath, data, nil
  27. }