diff --git a/src/os/executable_darwin.go b/src/os/executable_darwin.go index 7c65a90c3..e689db23f 100644 --- a/src/os/executable_darwin.go +++ b/src/os/executable_darwin.go @@ -6,5 +6,14 @@ package os func runtime_executable_path() string func Executable() (string, error) { - return runtime_executable_path(), nil + p := runtime_executable_path() + if p != "" && p[0] == '/' { + // absolute path + return p, nil + } + cwd, err := Getwd() + if err != nil { + return "", err + } + return joinPath(cwd, p), nil }