OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_20_1-18-g33b5495
Gerrit Code Review
gerrit@openafs.org
Wed, 15 Mar 2017 14:10:47 -0400
The following commit has been merged in the openafs-stable-1_6_x branch:
commit 33b5495e1b6b1da44cf3218811cc2efdff46b961
Author: Mark Vitale <mvitale@sinenomine.net>
Date: Tue Feb 28 18:02:39 2017 -0500
SOLARIS: prevent BAD TRAP panic with Studio 12.5
Starting with Solaris Studio 12.3, it is documented that Solaris kernel
modules (such as libafs) must not use any floating point, vector, or
SIMD/SSE instructions on x86 hardware. However, each new Studio
compiler release (12.4 and especially 12.5) is more likely to use these
types of instructions by default.
If the libafs kernel module includes any forbidden kernel instructions,
Solaris will panic the system with:
BAD TRAP: type=7 (#nm Device not available)
Provide a new autoconfig test to specify the required compiler options
(-xvector=%none -xregs=no%float) when building the OpenAFS kernel module
for Solaris, so that no invalid x86 instructions are used.
In addition, reinstate default kernel module optimization for Solaris.
It had been disabled in commit 80592c53cbb0bce782eb39a5e64860786654be9f
to address this same issue in Studio 12.3 and 12.4. However, Studio
12.5 started using some SSE instructions even with no optimization.
This commit has been tested with OpenAFS master and Studio 12.5 at all
optimization levels (none, -xO1 through -xO5) and verified to contain no
XMM register instructions via the following command:
$ gobjdump -dlr libafs64.o | grep xmm | wc -l
[wiesand: limit change to solaris 5.11 for stable branch]
Reviewed-on: https://gerrit.openafs.org/12558
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit 22d841a45fff7026318b529a41dd957ce8bb0ddf)
Change-Id: I2e87f26dbac47289694346639b396dfc556368f4
Reviewed-on: https://gerrit.openafs.org/12567
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
acinclude.m4 | 2 +
src/cf/osconf.m4 | 11 ++++++---
src/cf/solaris-test1.m4 | 38 +++++++++++++++++++++++++++++++++++
src/libafs/MakefileProto.SOLARIS.in | 2 +-
4 files changed, 48 insertions(+), 5 deletions(-)
--
OpenAFS Master Repository