- syscall number for unlinkat() is 76 on Solaris 11, but 65 on illumos [2]
- illumos (in April 2013) changed interface of the accept() and pipe()
syscalls [3]
-- posix_spawn() functionality is backed up by true spawn() syscall on Solaris 12
- whereas illumos and Solaris 11 leverage vfork()
+- posix_spawn() functionality is backed up by true spawn() syscall on Solaris 11.4
+ whereas illumos and Solaris 11.3 leverage vfork()
- illumos and older Solaris use utimesys() syscall whereas newer Solaris
uses utimensat()
solaris2.11*)
AC_MSG_RESULT([ok (${host_os})])
VGCONF_OS="solaris"
- DEFAULT_SUPP="solaris11.supp ${DEFAULT_SUPP}"
+
+ uname_v=$( uname -v )
+ case "$uname_v" in
+ 11.4.*)
+ DEFAULT_SUPP="solaris12.supp ${DEFAULT_SUPP}"
+ ;;
+ *)
+ DEFAULT_SUPP="solaris11.supp ${DEFAULT_SUPP}"
+ ;;
+ esac
;;
solaris2.12*)
# Solaris-specific check determining if the lwp_sigqueue() syscall
# takes both pid and thread id arguments or just thread id.
#
-# Old syscall (available on Solaris 11.x):
+# Old syscall (available up to Solaris 11.3):
# int lwp_sigqueue(id_t lwpid, int sig, void *value,
# int si_code, timespec_t *timeout);
#
-# New syscall (available on Solaris 12):
+# New syscall (available since Solaris 11.4):
# int lwp_sigqueue(pid_t pid, id_t lwpid, int sig, void *value,
# int si_code, timespec_t *timeout);
#
# Solaris-specific check determining if commands A_GETSTAT and A_SETSTAT
# for auditon(2) subcode of the auditsys() syscall are available.
# These commands are available in Solaris 11 and illumos but were removed
-# in Solaris 12.
+# in Solaris 11.4.
#
# C-level symbol: SOLARIS_AUDITON_STAT
# Automake-level symbol: SOLARIS_AUDITON_STAT
# Solaris-specific check determining if the new pset() syscall subcode
-# PSET_GET_NAME is available. This subcode was added in Solaris 12 but
-# is missing on illumos and Solaris 11.
+# PSET_GET_NAME is available. This subcode was added in Solaris 11.4 but
+# is missing on illumos and Solaris 11.3.
#
# C-level symbol: SOLARIS_PSET_GET_NAME
# Automake-level symbol: SOLARIS_PSET_GET_NAME
# Solaris-specific check determining if "sysstat" segment reservation type
# is available.
#
-# New "sysstat" segment reservation (available on Solaris 12):
+# New "sysstat" segment reservation (available on Solaris 11.4):
# - program header type: PT_SUNW_SYSSTAT
# - auxiliary vector entry: AT_SUN_SYSSTAT_ADDR
#
# Solaris-specific check determining if "sysstat_zone" segment reservation type
# is available.
#
-# New "sysstat_zone" segment reservation (available on Solaris 12):
+# New "sysstat_zone" segment reservation (available on Solaris 11.4):
# - program header type: PT_SUNW_SYSSTAT_ZONE
# - auxiliary vector entry: AT_SUN_SYSSTAT_ZONE_ADDR
#
Note that auxiliary vector is *not* created by kernel on illumos and
Solaris 11 if the program is statically linked (which is our case).
- Although we now taught Solaris 12 to create the auxiliary vector, we still
+ Although we now taught Solaris 11.4 to create the auxiliary vector, we still
have to build auxv from scratch, to make the code consistent. */
static Addr setup_client_stack(Addr init_sp,