diff --git a/src/cmd/cgo/internal/testfortran/fortran_test.go b/src/cmd/cgo/internal/testfortran/fortran_test.go
index 9ccf916..828265b 100644
--- a/src/cmd/cgo/internal/testfortran/fortran_test.go
+++ b/src/cmd/cgo/internal/testfortran/fortran_test.go
@@ -47,14 +47,19 @@
switch runtime.GOOS {
case "darwin":
libExt = "dylib"
- case "aix":
+ case "aix", "openbsd":
libExt = "a"
}
- libPath, err := exec.Command(fc, append([]string{"-print-file-name=libgfortran." + libExt}, fcExtra...)...).CombinedOutput()
+ libName := "libgfortran." + libExt
+ b, err := exec.Command(fc, append([]string{"-print-file-name=" + libName}, fcExtra...)...).CombinedOutput()
if err != nil {
- t.Errorf("error invoking %s: %s", fc, err)
+ t.Fatalf("error invoking %s: %s", fc, err)
}
- libDir := filepath.Dir(string(libPath))
+ libPath := strings.TrimSpace(string(b))
+ if string(libPath) == libName {
+ t.Fatalf("Failed to get full library path for %q", libName)
+ }
+ libDir := filepath.Dir(libPath)
cgoLDFlags := os.Getenv("CGO_LDFLAGS")
cgoLDFlags += " -L " + libDir
if runtime.GOOS != "aix" {