Patch-ID# 119967-02


Download this patch from My Oracle Support

Your use of the firmware, software and any other materials contained in this update is subject to My Oracle Support Terms of Use, which may be viewed at My Oracle Support.
For further information on patching best practices and resources, please see the following links:
Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.

Keywords: libm libmvec libsunmath gcc
Synopsis: SunOS 5.10_x86: Math Libraries (libm+libmvec) patch
Date: May/20/2016


Install Requirements: NA

Solaris Release: 10_x86

SunOS Release: 5.10_x86

Unbundled Product:

Unbundled Release:

Xref: This patch available for sparc as patch 119966

Topic:

Relevant Architectures: i386

Bugs fixed with this patch:

Sun CR # Bug #
429310115007277
674600115506837
687659715585557
687660415585563
703279815706370
708648715739597
16220045
16393089
16562616
16563240
17031074
17032772
18487375
19073967
19337921
19652435
20655863
21185492
21200600
21202051
21828659
22170821
22212928
22388801
623192915250469
628551715271646
645209215341651
645439615342731
653479315384203
655153415393629
661696515430790
662304315434464
667248915463379
669583915476914
672209315492015
674129615504036
674600115506837
676631015519441
677005715521777
677475415524616
677475915524623
679343415535126
679411215535564
681085015545095
686809715580174
691945315617266


Changes incorporated in this version: 15007277 15506837 15585557 15585563 15706370 15739597 16220045 16393089 16562616 16563240 17031074 17032772 18487375 19073967 19337921 19652435 20655863 21185492 21200600 21202051 21828659 22170821 22212928 22388801

Patches accumulated and obsoleted by this patch:

Patches which conflict with this patch:

Patches required with this patch:

Obsoleted by:

Files included with this patch:

/lib/amd64/libm.so.1
/lib/amd64/libm.so.2
/lib/amd64/libmvec.so.1
/lib/amd64/libsunmath.so
/lib/amd64/libsunmath.so.1
/lib/amd64/llib-lsunmath.ln
/lib/libm.so.1
/lib/libm.so.2
/lib/libmvec.so.1
/lib/libmvec/libmvec_hwcap1.so.1
/lib/libsunmath.so
/lib/libsunmath.so.1
/lib/llib-lsunmath
/lib/llib-lsunmath.ln
/usr/include/complex.h
/usr/include/fenv.h
/usr/include/floatingpoint.h
/usr/include/iso/math_c99.h
/usr/include/iso/math_impl.h
/usr/include/iso/math_iso.h
/usr/include/math.h
/usr/include/sunmath.h
/usr/include/sys/ieeefp.h
/usr/include/tgmath.h
/usr/lib/amd64/libsunmath.so
/usr/lib/amd64/libsunmath.so.1
/usr/lib/libsunmath.so
/usr/lib/libsunmath.so.1

Problem Description:

15007277 SUNBT4293101 libsunmath.so should be a part of Solaris (/usr/lib)
15506837 SUNBT6746001 15165237 SUNBT4882158 also affects C99 scalbln functions
15585557 SUNBT6876597 amd64 vpow much slower than Intel's SVML counterpart on Nehalem
15585563 SUNBT6876604 amd64 vexp much slower than Intel's SVML counterpart on Nehalem
15706370 SUNBT7032798 cacosl(-1) returns 0 in error
15739597 SUNBT7086487 changes to pow function in <math.h> for C++ 2011
16220045 floatingpoint.h and iso/math_c99.h need patches for C++2011
16393089 /usr/include/complex.h is not usable with GCC
16562616 math headers still use #pragma ident; complex.h should allow use by g++
16563240 C11 CMPLX* macros needed in <complex.h>
17031074 tgammal(-1.L) raises spurious inexact exception
17032772 erfl(LDBL_MIN) & erfcl(LDBL_MIN) raise spurious underflow exception
18487375 Support floating point exception handling for AVX/FMA
19073967 gcc version of signbit in <iso/math_c99.h> broken with -O2 -Wall -Werror
19337921 C99 math needs to be in namespace std for C++11 and later
19652435 scalb() declaration in <math.h> causes failures in the UNIX V7 (XPG7) test suite
20655863 bracket deprecated sunmath.h interfaces with __SUNMATH_DEPRECATED
21185492 cacosh(0. + NAN*I) gives incorrect result
21200600 powl(x,y) messed up x87 stack when y is infinite or NaN
21202051 ctan(INFINITY + 0*I) gives incorrect result
21828659 lgammal(nextafterl(0.5L, 0.0L)) does not always return correct result
22170821 C++11 <cmath> must handle integral arguments to C99 math functions
22212928 <math.h> can fail to interact properly with glibc++ <cmath>
22388801 Studio 12.4 -std=c++11 does not recognize __builtin_signbit{f,l}
 
(from 119967-01)
6231929 libm contains local symbols mdb dislikes
6285517 gcc 3.4.x/4.x c99 math intrinsics support needed
6452092 x86: flaws in some long double elementary functions
6454396 x86: exp2(+/-1) should not raise inexact
6534793 accuracy issue with Bessel Jn function for n=6,7,8
6551534 math.h does not play well with <cstdio> w/ __EXTENSIONS__ defined
6616965 retrospective diagnostics should use dynsym/ldynsym when symbol table is not present
6623043 add vector trigpi functions to libmvec
6672489 SEGV when attempting to call FEX_CUSTOM exception handler
6695839 x86 floating point exception handling flaws
6722093 cpow(pure imaginary, real) delivered bad value
6741296 use of "exception" in math.h can cause C++ compilation failure
6746001 4882158 also affects C99 scalbln functions
6766310 *x86_64* llrintl(large) can raise spurious inexact exception
6770057 *x86_64* remquof can raise spurious exceptions
6774754 tgamma(tiny) can fail to raise inexact
6774759 pow and powl can raise spurious overflow exception
6793434 clean up x86/x64 math library assembly code
6794112 incorrect behavior of vpow_(subnormal,1) on x86
6810850 stack trace from libm provided by fex_set_log could use some improvement
6868097 powl delivers incorrect result
6919453 Macro definitions in iso/math_c99.h header cause errors for gnu compilers


Patch Installation Instructions:
--------------------------------
 
For Solaris 8-10 releases, refer to the man pages for instructions on
using 'patchadd' and 'patchrm' scripts provided with Solaris.
Any other special or non-generic installation instructions should be
described below as special instructions.  The following example
installs a patch to a standalone machine:
 
        example# patchadd /var/spool/patch/106326-01
 
The following example removes a patch from a standalone system:
 
        example# patchrm 104945-02
 
For additional examples please see the appropriate man pages.


Special Install Instructions:
-----------------------------
	none.


README -- Last modified date: Friday, May 20, 2016