With newer Solaris Studio (sometime in the 12.* series), cc started
adding SSE instructions to optimized x86 code, which is invalid for
kernel code and can generate panics. There appears to be no way to
turn this off currently (-xvector=%none is non-functional), so default
to not optimizing kernel code.
Reviewed-on: http://gerrit.openafs.org/6671
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit
80592c53cbb0bce782eb39a5e64860786654be9f)
Change-Id: If1539dd88d4d28771a7eafcdaff30a75cb230917
Reviewed-on: http://gerrit.openafs.org/6683
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
[disable compilation of the kernel module with optimization (defaults
based on platform)])],
,
- [enable_optimize_kernel="yes"])
+ [enable_optimize_kernel=""])
AC_ARG_ENABLE([debug-lwp],
[AS_HELP_STRING([--enable-debug-lwp],
[enable compilation of the LWP code with debugging information
;;
esac
+#
+# Defaults for --enable-optimize-kernel
+#
+if test "x$enable_optimize_kernel" = "x" ; then
+ AS_CASE([$AFS_SYSNAME],
+ [sunx86_510|sunx86_511],
+ dnl Somewhere around Solaris Studio 12.*, the compiler started adding SSE
+ dnl instructions to optimized code, without any ability to turn it off.
+ dnl So just default to not optimizing kernel code for the relevant
+ dnl platforms, until we get a better autoconf test for this.
+ [enable_optimize_kernel=no],
+ [enable_optimize_kernel=yes])
+fi
+
#
# Special build targets
#