diff --git a/cmd/flags_run_local_instance.go b/cmd/flags_run_local_instance.go index 21fe3899..8588470d 100644 --- a/cmd/flags_run_local_instance.go +++ b/cmd/flags_run_local_instance.go @@ -4,7 +4,9 @@ import ( "debug/elf" "fmt" "net" + "os" "os/exec" + "path/filepath" "slices" "strconv" "strings" @@ -79,7 +81,15 @@ func (flags *RunLocalInstanceCommandFlags) MergeToConfig(c *types.Config) error } if (flags.Trace || flags.SyscallSummary) && !slices.Contains(c.Klibs, "strace") { - c.Klibs = append(c.Klibs, "strace") // debugsyscalls, notrace, tracelist, syscall_summary + // temporary backward compatibility + _, err := os.Stat(filepath.Join(c.KlibDir, "strace")) + if err != nil && flags.Trace { + c.Debugflags = append(c.Debugflags, "futex_trace") + } + // new strace klib + if err == nil { + c.Klibs = append(c.Klibs, "strace") // debugsyscalls, notrace, tracelist, syscall_summary + } } if flags.MissingFiles {