From 1641a3edb212dfdec207bc886f46fa019445b4441bd8d8a9319cdb315340b56e Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 21 Jun 2012 19:06:13 +0000 Subject: [PATCH] Accepting request 125709 from home:a_jaeger:my-factory-packages Fix Bogus FP exception on underflow for exp(double) (bnc#767956) OBS-URL: https://build.opensuse.org/request/show/125709 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=190 --- glibc-2.16-expf-underflow-exception.patch | 31 +++++++++++++++++++++++ glibc.changes | 5 ++++ glibc.spec | 27 +++++++++++--------- 3 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 glibc-2.16-expf-underflow-exception.patch diff --git a/glibc-2.16-expf-underflow-exception.patch b/glibc-2.16-expf-underflow-exception.patch new file mode 100644 index 0000000..bf94ab6 --- /dev/null +++ b/glibc-2.16-expf-underflow-exception.patch @@ -0,0 +1,31 @@ +commit f77f12320635155da728a3c1adb75ff9914cf686 +Author: Aurelien Jarno +Date: Sun Apr 8 22:45:13 2012 +0000 + + Use __kernel_standard instead of __kernel_standard_f in exp wrapper (bug 13705). + +2012-04-08 Aurelien Jarno + + [BZ #13705] + * sysdeps/ieee754/dbl-64/w_exp.c (__exp): Use __kernel_standard + instead of __kernel_standard_f. + +diff --git a/sysdeps/ieee754/dbl-64/w_exp.c b/sysdeps/ieee754/dbl-64/w_exp.c +index b584ed8..aa8ff76 100644 +--- a/sysdeps/ieee754/dbl-64/w_exp.c ++++ b/sysdeps/ieee754/dbl-64/w_exp.c +@@ -31,12 +31,12 @@ __exp (double x) + if (__builtin_expect (isgreater (x, o_threshold), 0)) + { + if (_LIB_VERSION != _IEEE_) +- return __kernel_standard_f (x, x, 6); ++ return __kernel_standard (x, x, 6); + } + else if (__builtin_expect (isless (x, u_threshold), 0)) + { + if (_LIB_VERSION != _IEEE_) +- return __kernel_standard_f (x, x, 7); ++ return __kernel_standard (x, x, 7); + } + + return __ieee754_exp (x); diff --git a/glibc.changes b/glibc.changes index df4c3d1..ca265e7 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jun 21 11:44:59 UTC 2012 - aj@suse.de + +- Fix Bogus FP exception on underflow for exp(double) (bnc#767956) + ------------------------------------------------------------------- Mon Jun 18 11:04:37 UTC 2012 - aj@suse.de diff --git a/glibc.spec b/glibc.spec index 56e1be0..507b764 100644 --- a/glibc.spec +++ b/glibc.spec @@ -218,8 +218,6 @@ Patch101: glibc-2.4.90-revert-only-euro.diff Patch102: glibc-2.4.90-no_NO.diff # PATCH-FIX-OPENSUSE -- Renames for China Patch103: glibc-2.4-china.diff -# PATCH-FIX-OPENSUSE Fix gb18030 code bnc#54080 -Patch104: gb18030.patch.bz2 ### Broken patches in glibc that we revert for now: # PATCH-FEATURE-OPENSUSE Revert sunrpc removal aj@suse.de @@ -282,14 +280,22 @@ Patch1012: glibc-nscd-foreground.patch Patch1013: confstr.patch # PATCH-FIX-UPSTREAM Use HAS_AVX - aj@suse.de Patch1014: glibc-2.15-avx2.patch +# PATCH-FIX-UPSTREAM Bogus FPE on underflow for exp(double) bnc#767956 - aj@suse.de +Patch1015: glibc-2.16-expf-underflow-exception.patch +# PATCH-FIX-UPSTREAM Fix gb18030 code bnc#54080 +Patch1016: gb18030.patch.bz2 +# PATCH-FIX-UPSTREAM Fix crash when nscd is not running (bso#135949) - aj@suse.de +Patch1017: glibc-nscd-crash-bso13594.patch +# PATCH-FIX-UPSTREAM malloc(0);free gets optimized out +Patch1018: glibc-2.16-mcheck.patch +# PATCH-FIX-UPSTREAM Correct first_weekday for tr_TR (glibc bug#13223) - aj@suse.de +Patch1019: tr_TR.patch ### # Patches awaiting upstream approval ### # PATCH-FIX-UPSTREAM Fix assertion error in res_query.c (bso#13013) Patch2001: glibc-resolv-assert.diff -# PATCH-FIX-UPSTREAM Fix crash when nscd is not running (bso#135949) - aj@suse.de -Patch2003: glibc-nscd-crash-bso13594.patch # PATCH-FIX-OPENSUSE Fix crash (access-after-free) in dl_lookup_x bnc#703140, bso#13579 matz@suse.de Patch2004: glibc-fix-noload.patch # PATCH-FIX-OPENSUSE bnc#657627, http://sourceware.org/bugzilla/show_bug.cgi?id=12561 @@ -302,10 +308,6 @@ Patch2007: glibc-sw13618-2.patch Patch2008: glibc-ld-profile.patch # PATCH-FIX-OPENSUSE _fini does not have proper unwinding information on x86_64 bso#11610 Patch2009: glibc-fini-unwind.diff -# PATCH-FIX-OPENSUSE malloc(0);free gets optimized out -Patch2010: glibc-2.16-mcheck.patch -# PATCH-FIX-OPENSUSE Correct first_weekday for tr_TR (glibc bug#13223) - aj@suse.de -Patch2011: tr_TR.patch %description The GNU C Library provides the most important standard libraries used @@ -521,7 +523,6 @@ rm nscd/s-stamp %patch101 -p1 %patch102 -p1 %patch103 -p1 -%patch104 -p1 %patch200 -p1 %patch201 -p1 @@ -558,9 +559,13 @@ rm nscd/s-stamp %patch1012 -p1 %patch1013 -p1 %patch1014 -p1 +%patch1015 -p1 +%patch1016 -p1 +%patch1017 -p1 +%patch1018 -p1 +%patch1019 -p1 %patch2001 -p1 -%patch2003 -p1 %patch2004 -p1 # XXX: Does not pass testsuite, still there's no better solution yet %patch2005 -p1 @@ -569,8 +574,6 @@ rm nscd/s-stamp # XXX Disable, it breaks the testsuite, test elf/tst-audit2 # %patch2008 -p1 %patch2009 -p1 -%patch2010 -p1 -%patch2011 -p1 # # Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!