diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-11-10 20:04:37 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2006-11-10 20:04:37 +0000 |
commit | 8ee382621852ed3c7e5ff17609e69cdfc1ba5c9f (patch) | |
tree | 95ebc3131f83bbcff30b75e5031a63291b1e033d /sysdeps | |
parent | 362d67883f1d8b55049f47b5d56e534f04be0b99 (diff) | |
download | glibc-8ee382621852ed3c7e5ff17609e69cdfc1ba5c9f.tar.gz |
Updated to fedora-glibc-20061110T1956
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/gnu/siglist.c | 8 | ||||
-rw-r--r-- | sysdeps/i386/fpu/bits/mathinline.h | 42 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sysconf.c | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sysconf.c | 1 |
4 files changed, 34 insertions, 18 deletions
diff --git a/sysdeps/gnu/siglist.c b/sysdeps/gnu/siglist.c index b8d37968e0..3005f867f0 100644 --- a/sysdeps/gnu/siglist.c +++ b/sysdeps/gnu/siglist.c @@ -40,13 +40,15 @@ const char *const __new_sys_sigabbrev[NSIG] = strong_alias (__new_sys_sigabbrev, _sys_sigabbrev_internal) #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) -declare_symbol_alias (__old_sys_siglist, _sys_siglist_internal, object, +declare_symbol_alias (__old_sys_siglist, __new_sys_siglist, object, OLD_SIGLIST_SIZE * __WORDSIZE / 8) -declare_symbol_alias (__old_sys_sigabbrev, _sys_sigabbrev_internal, object, +declare_symbol_alias (__old_sys_sigabbrev, __new_sys_sigabbrev, object, + OLD_SIGLIST_SIZE * __WORDSIZE / 8) + +declare_symbol_alias (_old_sys_siglist, __new_sys_siglist, object, OLD_SIGLIST_SIZE * __WORDSIZE / 8) -strong_alias (__old_sys_siglist, _old_sys_siglist) compat_symbol (libc, __old_sys_siglist, _sys_siglist, GLIBC_2_0); compat_symbol (libc, _old_sys_siglist, sys_siglist, GLIBC_2_0); compat_symbol (libc, __old_sys_sigabbrev, sys_sigabbrev, GLIBC_2_0); diff --git a/sysdeps/i386/fpu/bits/mathinline.h b/sysdeps/i386/fpu/bits/mathinline.h index e04ce95099..8e7a867ec6 100644 --- a/sysdeps/i386/fpu/bits/mathinline.h +++ b/sysdeps/i386/fpu/bits/mathinline.h @@ -1,5 +1,5 @@ /* Inline math functions for i387. - Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 + Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by John C. Bowman <bowman@math.ualberta.ca>, 1995. @@ -529,24 +529,36 @@ __inline_mathcodeNP (tanh, __x, \ __inline_mathcodeNP (floor, __x, \ register long double __value; \ - __volatile unsigned short int __cw; \ - __volatile unsigned short int __cwtmp; \ - __asm __volatile ("fnstcw %0" : "=m" (__cw)); \ - __cwtmp = (__cw & 0xf3ff) | 0x0400; /* rounding down */ \ - __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); \ - __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); \ - __asm __volatile ("fldcw %0" : : "m" (__cw)); \ + register int __ignore; \ + unsigned short int __cw; \ + unsigned short int __cwtmp; \ + __asm __volatile ("fnstcw %4\n\t" \ + "movzwl %4, %1\n\t" \ + "andl $0xf3ff, %1\n\t" \ + "orl $0x0400, %1\n\t" /* rounding down */ \ + "movw %1, %3\n\t" \ + "fldcw %3\n\t" \ + "frndint\n\t" \ + "fldcw %4" \ + : "=t" (__value), "=&q" (__ignore) \ + : "0" (__x), "m" (__cwtmp), "m" (__cw)); \ return __value) __inline_mathcodeNP (ceil, __x, \ register long double __value; \ - __volatile unsigned short int __cw; \ - __volatile unsigned short int __cwtmp; \ - __asm __volatile ("fnstcw %0" : "=m" (__cw)); \ - __cwtmp = (__cw & 0xf3ff) | 0x0800; /* rounding up */ \ - __asm __volatile ("fldcw %0" : : "m" (__cwtmp)); \ - __asm __volatile ("frndint" : "=t" (__value) : "0" (__x)); \ - __asm __volatile ("fldcw %0" : : "m" (__cw)); \ + register int __ignore; \ + unsigned short int __cw; \ + unsigned short int __cwtmp; \ + __asm __volatile ("fnstcw %4\n\t" \ + "movzwl %4, %1\n\t" \ + "andl $0xf3ff, %1\n\t" \ + "orl $0x0800, %1\n\t" /* rounding up */ \ + "movw %1, %3\n\t" \ + "fldcw %3\n\t" \ + "frndint\n\t" \ + "fldcw %4" \ + : "=t" (__value), "=&q" (__ignore) \ + : "0" (__x), "m" (__cwtmp), "m" (__cw)); \ return __value) #ifdef __FAST_MATH__ diff --git a/sysdeps/unix/sysv/linux/i386/sysconf.c b/sysdeps/unix/sysv/linux/i386/sysconf.c index c9d7f77a00..2ffbd5227b 100644 --- a/sysdeps/unix/sysv/linux/i386/sysconf.c +++ b/sysdeps/unix/sysv/linux/i386/sysconf.c @@ -140,6 +140,7 @@ intel_02_known_compare (const void *p1, const void *p2) static long int +__attribute__ ((noinline)) intel_check_word (int name, unsigned int value, bool *has_level_2, bool *no_level_2_or_3) { diff --git a/sysdeps/unix/sysv/linux/x86_64/sysconf.c b/sysdeps/unix/sysv/linux/x86_64/sysconf.c index 80c982aa3b..5a898b7857 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sysconf.c +++ b/sysdeps/unix/sysv/linux/x86_64/sysconf.c @@ -101,6 +101,7 @@ intel_02_known_compare (const void *p1, const void *p2) static long int +__attribute__ ((noinline)) intel_check_word (int name, unsigned int value, bool *has_level_2, bool *no_level_2_or_3) { |