FAIL: tests/install/basic-1
===========================
FAIL: tests/mv/diag
===================
These two are the same issue I think ...
diff --git a/src/system.h b/src/system.h
index c24cb4dc3..d2c473a59 100644
--- a/src/system.h
+++ b/src/system.h
@@ -140,9 +140,12 @@ target_directory_operand (char const *file)
bool is_a_dir = false;
struct stat st;
- /* On old systems like Solaris 10, check with stat first
- lest we try to open a fifo for example and hang. */
- if (!O_DIRECTORY && stat (file, &st) == 0)
+ /* On old systems without O_DIRECTORY, like Solaris 10,
+ check with stat first lest we try to open a fifo for example and hang.
+ Also check on systems with O_PATHSEARCH == O_SEARCH, like Solaris 11,
+ where open was seen to return EPERM for non directories. */
+ if (!O_DIRECTORY || (O_PATHSEARCH == O_SEARCH)
+ && stat (file, &st) == 0)