]> git.pld-linux.org Git - packages/glibc.git/commitdiff
- rel 2; fix crash in floor auto/th/glibc-2_15-2
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Thu, 5 Jan 2012 19:07:44 +0000 (19:07 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    glibc-2.15-math64crash.patch -> 1.1
    glibc.spec -> 1.949

glibc-2.15-math64crash.patch [new file with mode: 0644]
glibc.spec

diff --git a/glibc-2.15-math64crash.patch b/glibc-2.15-math64crash.patch
new file mode 100644 (file)
index 0000000..d315bf2
--- /dev/null
@@ -0,0 +1,184 @@
+diff --git a/sysdeps/x86_64/fpu/multiarch/Makefile b/sysdeps/x86_64/fpu/multiarch/Makefile
+index be68903..a032da8 100644
+--- a/sysdeps/x86_64/fpu/multiarch/Makefile
++++ b/sysdeps/x86_64/fpu/multiarch/Makefile
+@@ -1,5 +1,5 @@
+ ifeq ($(subdir),math)
+-libm-sysdep_routines += s_floor-c s_ceil-c s_floorf-c s_ceilf-c \
++libm-sysdep_routines += s_floorf-c s_ceilf-c \
+                       s_rint-c s_rintf-c s_nearbyint-c s_nearbyintf-c
+ ifeq ($(have-mfma4),yes)
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c b/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c
+deleted file mode 100644
+index 6a5ea3f..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_ceil-c.c
++++ /dev/null
+@@ -1,2 +0,0 @@
+-#define __ceil __ceil_c
+-#include <sysdeps/ieee754/dbl-64/wordsize-64/s_ceil.c>
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_ceil.S b/sysdeps/x86_64/fpu/multiarch/s_ceil.S
+deleted file mode 100644
+index d0f8da3..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_ceil.S
++++ /dev/null
+@@ -1,40 +0,0 @@
+-/* Copyright (C) 2011 Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-   Contributed by Ulrich Drepper <drepper@gmail.come>, 2011.
+-
+-   The GNU C Library is free software; you can redistribute it and/or
+-   modify it under the terms of the GNU Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 of the License, or (at your option) any later version.
+-
+-   The GNU C Library is distributed in the hope that it will be useful,
+-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-#include <machine/asm.h>
+-#include <init-arch.h>
+-
+-
+-ENTRY(__ceil)
+-      .type   __ceil, @gnu_indirect_function
+-      call    __get_cpu_features@plt
+-      movq    %rax, %rdx
+-      leaq    __ceil_sse41(%rip), %rax
+-      testl   $bit_SSE4_1, CPUID_OFFSET+index_SSE4_1(%rdx)
+-      jnz     2f
+-      leaq    __ceil_c(%rip), %rax
+-2:    ret
+-END(__ceil)
+-weak_alias (__ceil, ceil)
+-
+-
+-ENTRY(__ceil_sse41)
+-      roundsd $2, %xmm0, %xmm0
+-      ret
+-END(__ceil_sse41)
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor-c.c b/sysdeps/x86_64/fpu/multiarch/s_floor-c.c
+deleted file mode 100644
+index 68733b6..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_floor-c.c
++++ /dev/null
+@@ -1,3 +0,0 @@
+-#undef __floor
+-#define __floor __floor_c
+-#include <sysdeps/ieee754/dbl-64/wordsize-64/s_floor.c>
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_floor.S b/sysdeps/x86_64/fpu/multiarch/s_floor.S
+deleted file mode 100644
+index 514ea95..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_floor.S
++++ /dev/null
+@@ -1,40 +0,0 @@
+-/* Copyright (C) 2011 Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-   Contributed by Ulrich Drepper <drepper@gmail.come>, 2011.
+-
+-   The GNU C Library is free software; you can redistribute it and/or
+-   modify it under the terms of the GNU Lesser General Public
+-   License as published by the Free Software Foundation; either
+-   version 2.1 of the License, or (at your option) any later version.
+-
+-   The GNU C Library is distributed in the hope that it will be useful,
+-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+-   Lesser General Public License for more details.
+-
+-   You should have received a copy of the GNU Lesser General Public
+-   License along with the GNU C Library; if not, write to the Free
+-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+-   02111-1307 USA.  */
+-
+-#include <machine/asm.h>
+-#include <init-arch.h>
+-
+-
+-ENTRY(__floor)
+-      .type   __floor, @gnu_indirect_function
+-      call    __get_cpu_features@plt
+-      movq    %rax, %rdx
+-      leaq    __floor_sse41(%rip), %rax
+-      testl   $bit_SSE4_1, CPUID_OFFSET+index_SSE4_1(%rdx)
+-      jnz     2f
+-      leaq    __floor_c(%rip), %rax
+-2:    ret
+-END(__floor)
+-weak_alias (__floor, floor)
+-
+-
+-ENTRY(__floor_sse41)
+-      roundsd $1, %xmm0, %xmm0
+-      ret
+-END(__floor_sse41)
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_sin.c b/sysdeps/x86_64/fpu/multiarch/s_sin.c
+deleted file mode 100644
+index 1ba9dbc..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_sin.c
++++ /dev/null
+@@ -1,31 +0,0 @@
+-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
+-# include <init-arch.h>
+-# include <math.h>
+-# undef NAN
+-
+-extern double __cos_sse2 (double);
+-extern double __sin_sse2 (double);
+-extern double __cos_avx (double);
+-extern double __sin_avx (double);
+-# ifdef HAVE_FMA4_SUPPORT
+-extern double __cos_fma4 (double);
+-extern double __sin_fma4 (double);
+-# else
+-#  undef HAS_FMA4
+-#  define HAS_FMA4 0
+-#  define __cos_fma4 ((void *) 0)
+-#  define __sin_fma4 ((void *) 0)
+-# endif
+-
+-libm_ifunc (__cos, HAS_FMA4 ? __cos_fma4 : HAS_AVX ? __cos_avx : __cos_sse2);
+-weak_alias (__cos, cos)
+-
+-libm_ifunc (__sin, HAS_FMA4 ? __sin_fma4 : HAS_AVX ? __sin_avx : __sin_sse2);
+-weak_alias (__sin, sin)
+-
+-# define __cos __cos_sse2
+-# define __sin __sin_sse2
+-#endif
+-
+-
+-#include <sysdeps/ieee754/dbl-64/s_sin.c>
+diff --git a/sysdeps/x86_64/fpu/multiarch/s_tan.c b/sysdeps/x86_64/fpu/multiarch/s_tan.c
+deleted file mode 100644
+index 8f6601e..0000000
+--- a/sysdeps/x86_64/fpu/multiarch/s_tan.c
++++ /dev/null
+@@ -1,21 +0,0 @@
+-#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT
+-# include <init-arch.h>
+-# include <math.h>
+-
+-extern double __tan_sse2 (double);
+-extern double __tan_avx (double);
+-# ifdef HAVE_FMA4_SUPPORT
+-extern double __tan_fma4 (double);
+-# else
+-#  undef HAS_FMA4
+-#  define HAS_FMA4 0
+-#  define __tan_fma4 ((void *) 0)
+-# endif
+-
+-libm_ifunc (tan, HAS_FMA4 ? __tan_fma4 : HAS_AVX ? __tan_avx : __tan_sse2);
+-
+-# define tan __tan_sse2
+-#endif
+-
+-
+-#include <sysdeps/ieee754/dbl-64/s_tan.c>
index 0ec9109da78fd3d97d5833dd6d8c64a74e482f55..df4d1182031236468f041124b0157e850d44b420 100644 (file)
@@ -33,7 +33,7 @@ Summary(tr.UTF-8):    GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
 Version:       2.15
-Release:       1
+Release:       2
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
@@ -88,6 +88,8 @@ Patch37:      0061_all_glibc-2.13-static-memset.patch
 Patch38:       1055_all_glibc-resolv-dynamic.patch
 Patch40:       %{name}-bad-fix.patch
 Patch42:       %{name}-pr13013.patch
+# from archlinux
+Patch43:       glibc-2.15-math64crash.patch
 URL:           http://www.gnu.org/software/libc/
 %{?with_selinux:BuildRequires: audit-libs-devel}
 BuildRequires: autoconf
@@ -955,6 +957,7 @@ mv %{name}-ports-%{ports_version} ports
 %patch40 -p1
 
 %patch42 -p1
+%patch43 -p1
 
 # cleanup backups after patching
 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
This page took 0.037805 seconds and 4 git commands to generate.