[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r16853 - in /fsf/trunk/libc: ./ crypt/ libio/ locale/programs/ malloc/ math/ sysdeps/generic/ sysdeps/gnu/ sysdeps/i386/ sys...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r16853 - in /fsf/trunk/libc: ./ crypt/ libio/ locale/programs/ malloc/ math/ sysdeps/generic/ sysdeps/gnu/ sysdeps/i386/ sys...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 27 Jan 2012 00:03:32 -0000
Author: eglibc
Date: Fri Jan 27 00:03:30 2012
New Revision: 16853
Log:
Import glibc-mainline for 2012-01-27
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/crypt/md5.h
fsf/trunk/libc/libio/libio.h
fsf/trunk/libc/libio/libioP.h
fsf/trunk/libc/locale/programs/config.h
fsf/trunk/libc/malloc/obstack.h
fsf/trunk/libc/math/complex.h
fsf/trunk/libc/math/math.h
fsf/trunk/libc/sysdeps/generic/_G_config.h
fsf/trunk/libc/sysdeps/generic/sysdep.h
fsf/trunk/libc/sysdeps/gnu/_G_config.h
fsf/trunk/libc/sysdeps/i386/asm-syntax.h
fsf/trunk/libc/sysdeps/mach/hurd/_G_config.h
fsf/trunk/libc/sysdeps/powerpc/bits/mathdef.h
fsf/trunk/libc/sysdeps/s390/asm-syntax.h
fsf/trunk/libc/sysdeps/sh/sh4/bits/mathdef.h
fsf/trunk/libc/sysdeps/sparc/bits/mathdef.h
fsf/trunk/libc/sysdeps/unix/sysdep.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_atan2.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_exp.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_log.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_atan.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_sin.c
fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_tan.c
fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c
fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Jan 27 00:03:30 2012
@@ -1,3 +1,44 @@
+2012-01-26 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * crypt/md5.h: Remove __STDC__ conditionals.
+ * libio/libioP.h: Likewise.
+ * locale/programs/config.h: Likewise.
+ * sysdeps/generic/sysdep.h: Likewise.
+ * sysdeps/i386/asm-syntax.h: Likewise.
+ * sysdeps/s390/asm-syntax.h: Likewise.
+ * sysdeps/unix/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Likewise.
+
+2012-01-26 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * libio/libio.h: Remove __STDC__ conditionals.
+ * malloc/obstack.h: Likewise.
+ * math/complex.h: Likewise.
+ * math/math.h: Likewise.
+ * sysdeps/generic/_G_config.h: Likewise.
+ * sysdeps/gnu/_G_config.h: Likewise.
+ * sysdeps/mach/hurd/_G_config.h: Likewise.
+ * sysdeps/powerpc/bits/mathdef.h: Likewise.
+ * sysdeps/sh/sh4/bits/mathdef.h: Likewise.
+ * sysdeps/sparc/bits/mathdef.h: Likewise.
+
+2012-01-26 Ulrich Drepper <drepper@xxxxxxxxx>
+
+ [BZ #13583]
+ * sysdeps/x86_64/multiarch/init-arch.h: Define bit_OSXSAVE.
+ Clean up HAS_* macros.
+ * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): If
+ bit_AVX is set also check OSXAVE/XCR0 and set bit_YMM_Usable if
+ possible.
+ * sysdeps/x86_64/fpu/multiarch/e_atan2.c: Use HAS_YMM_USABLE, not
+ HAS_AVX.
+ * sysdeps/x86_64/fpu/multiarch/e_exp.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/e_log.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_atan.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_sin.c: Likewise.
+ * sysdeps/x86_64/fpu/multiarch/s_tan.c: Likewise.
+
2012-01-25 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
* elf/tst-unique3.cc (gets): Remove declaration.
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Jan 27 00:03:30 2012
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes. 2012-1-10
+GNU C Library NEWS -- history of user-visible changes. 2012-1-26
Copyright (C) 1992-2009, 2010, 2011, 2012 Free Software Foundation, Inc.
See the end for copying conditions.
@@ -10,7 +10,7 @@
* The following bugs are resolved with this release:
13525, 13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13530,
- 13551, 13552, 13553, 13555, 13559
+ 13551, 13552, 13553, 13555, 13559, 13583
* ISO C11 support:
Modified: fsf/trunk/libc/crypt/md5.h
==============================================================================
--- fsf/trunk/libc/crypt/md5.h (original)
+++ fsf/trunk/libc/crypt/md5.h Fri Jan 27 00:03:30 2012
@@ -1,6 +1,6 @@
/* Declaration of functions and data types used for MD5 sum computing
library functions.
- Copyright (C) 1995-1997,1999,2000,2001,2004,2005,2011
+ Copyright (C) 1995-1997,1999,2000,2001,2004,2005,2011,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -43,11 +43,7 @@
typedef uint32_t md5_uint32;
typedef uintptr_t md5_uintptr;
#else
-# if defined __STDC__ && __STDC__
-# define UINT_MAX_32_BITS 4294967295U
-# else
-# define UINT_MAX_32_BITS 0xFFFFFFFF
-# endif
+# define UINT_MAX_32_BITS 4294967295U
/* If UINT_MAX isn't defined, assume it's a 32-bit type.
This should be valid for all systems GNU cares about because
Modified: fsf/trunk/libc/libio/libio.h
==============================================================================
--- fsf/trunk/libc/libio/libio.h (original)
+++ fsf/trunk/libc/libio/libio.h Fri Jan 27 00:03:30 2012
@@ -62,13 +62,8 @@
# if _G_HAVE_SYS_CDEFS
# include <sys/cdefs.h>
# else
-# ifdef __STDC__
-# define __P(p) p
-# define __PMT(p) p
-# else
-# define __P(p) ()
-# define __PMT(p) ()
-# endif
+# define __P(p) p
+# define __PMT(p) p
# endif
#endif /*!__P*/
@@ -77,11 +72,6 @@
# define _PARAMS(protos) __P(protos)
#endif /*!_PARAMS*/
-#ifndef __STDC__
-# ifndef const
-# define const
-# endif
-#endif
#define _IO_UNIFIED_JUMPTABLES 1
#ifndef _G_HAVE_PRINTF_FP
# define _IO_USE_DTOA 1
Modified: fsf/trunk/libc/libio/libioP.h
==============================================================================
--- fsf/trunk/libc/libio/libioP.h (original)
+++ fsf/trunk/libc/libio/libioP.h Fri Jan 27 00:03:30 2012
@@ -927,11 +927,7 @@
# endif
#endif /* !defined(builtinbuf_vtable) && defined(__cplusplus) */
-#if defined(__STDC__) || defined(__cplusplus)
-# define _IO_va_start(args, last) va_start(args, last)
-#else
-# define _IO_va_start(args, last) va_start(args)
-#endif
+#define _IO_va_start(args, last) va_start(args, last)
extern struct _IO_fake_stdiobuf _IO_stdin_buf, _IO_stdout_buf, _IO_stderr_buf;
Modified: fsf/trunk/libc/locale/programs/config.h
==============================================================================
--- fsf/trunk/libc/locale/programs/config.h (original)
+++ fsf/trunk/libc/locale/programs/config.h Fri Jan 27 00:03:30 2012
@@ -1,5 +1,5 @@
/* Configuration for localedef program.
- Copyright (C) 1995,1996,1997,1998,2000,2005 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998,2000,2005,2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1995.
@@ -30,11 +30,7 @@
#define DEFAULT_CHARMAP "ANSI_X3.4-1968" /* ASCII */
#ifndef PARAMS
-# if __STDC__
-# define PARAMS(args) args
-# else
-# define PARAMS(args) ()
-# endif
+# define PARAMS(args) args
#endif
/* This must be one higer than the last used LC_xxx category value. */
Modified: fsf/trunk/libc/malloc/obstack.h
==============================================================================
--- fsf/trunk/libc/malloc/obstack.h (original)
+++ fsf/trunk/libc/malloc/obstack.h Fri Jan 27 00:03:30 2012
@@ -1,5 +1,5 @@
/* obstack.h - object stack macros
- Copyright (C) 1988-1994,1996-1999,2003,2004,2005,2009,2011
+ Copyright (C) 1988-1994,1996-1999,2003,2004,2005,2009,2011,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -250,7 +250,7 @@
#define obstack_memory_used(h) _obstack_memory_used (h)
-#if defined __GNUC__ && defined __STDC__ && __STDC__
+#if defined __GNUC__
/* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
does not implement __extension__. But that compiler doesn't define
__GNUC_MINOR__. */
@@ -402,7 +402,7 @@
__o->next_free = __o->object_base = (char *)__obj; \
else (obstack_free) (__o, __obj); })
-#else /* not __GNUC__ or not __STDC__ */
+#else /* not __GNUC__ */
# define obstack_object_size(h) \
(unsigned) ((h)->next_free - (h)->object_base)
@@ -500,7 +500,7 @@
= (h)->temp.tempint + (char *) (h)->chunk), 0) \
: ((obstack_free) ((h), (h)->temp.tempint + (char *) (h)->chunk), 0)))
-#endif /* not __GNUC__ or not __STDC__ */
+#endif /* not __GNUC__ */
#ifdef __cplusplus
} /* C++ */
Modified: fsf/trunk/libc/math/complex.h
==============================================================================
--- fsf/trunk/libc/math/complex.h (original)
+++ fsf/trunk/libc/math/complex.h Fri Jan 27 00:03:30 2012
@@ -82,20 +82,15 @@
# define _Mfloat_ float
#endif
#define _Mdouble_ _Mfloat_
-#ifdef __STDC__
-# define __MATH_PRECNAME(name) name##f
-#else
-# define __MATH_PRECNAME(name) name/**/f
-#endif
+#define __MATH_PRECNAME(name) name##f
#include <bits/cmathcalls.h>
#undef _Mdouble_
#undef __MATH_PRECNAME
/* And the long double versions. It is non-critical to define them
here unconditionally since `long double' is required in ISO C99. */
-#if (__STDC__ - 0 || __GNUC__ - 0) \
- && (!(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \
- || defined __LDBL_COMPAT)
+#if !(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \
+ || defined __LDBL_COMPAT
# ifdef __LDBL_COMPAT
# undef __MATHDECL_1
# define __MATHDECL_1(type, function, args) \
@@ -106,11 +101,7 @@
# define _Mlong_double_ long double
# endif
# define _Mdouble_ _Mlong_double_
-# ifdef __STDC__
-# define __MATH_PRECNAME(name) name##l
-# else
-# define __MATH_PRECNAME(name) name/**/l
-# endif
+# define __MATH_PRECNAME(name) name##l
# include <bits/cmathcalls.h>
#endif
#undef _Mdouble_
Modified: fsf/trunk/libc/math/math.h
==============================================================================
--- fsf/trunk/libc/math/math.h (original)
+++ fsf/trunk/libc/math/math.h Fri Jan 27 00:03:30 2012
@@ -1,5 +1,5 @@
/* Declarations for math functions.
- Copyright (C) 1991-1993, 1995-1999, 2001, 2002, 2004, 2006, 2009, 2011
+ Copyright (C) 1991-1993, 1995-1999, 2001, 2002, 2004, 2006, 2009, 2011, 2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -84,11 +84,7 @@
# define _Mfloat_ float
# endif
# define _Mdouble_ _Mfloat_
-# ifdef __STDC__
-# define __MATH_PRECNAME(name,r) name##f##r
-# else
-# define __MATH_PRECNAME(name,r) name/**/f/**/r
-# endif
+# define __MATH_PRECNAME(name,r) name##f##r
# define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99
# define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99
# include <bits/mathcalls.h>
@@ -97,9 +93,8 @@
# undef _Mdouble_END_NAMESPACE
# undef __MATH_PRECNAME
-# if (__STDC__ - 0 || __GNUC__ - 0) \
- && (!(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \
- || defined __LDBL_COMPAT)
+# if !(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \
+ || defined __LDBL_COMPAT
# ifdef __LDBL_COMPAT
# ifdef __USE_ISOC99
@@ -132,11 +127,7 @@
# define _Mlong_double_ long double
# endif
# define _Mdouble_ _Mlong_double_
-# ifdef __STDC__
-# define __MATH_PRECNAME(name,r) name##l##r
-# else
-# define __MATH_PRECNAME(name,r) name/**/l/**/r
-# endif
+# define __MATH_PRECNAME(name,r) name##l##r
# define _Mdouble_BEGIN_NAMESPACE __BEGIN_NAMESPACE_C99
# define _Mdouble_END_NAMESPACE __END_NAMESPACE_C99
# define __MATH_DECLARE_LDOUBLE 1
@@ -146,7 +137,7 @@
# undef _Mdouble_END_NAMESPACE
# undef __MATH_PRECNAME
-# endif /* __STDC__ || __GNUC__ */
+# endif /* !(__NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT */
#endif /* Use misc or ISO C99. */
#undef __MATHDECL_1
Modified: fsf/trunk/libc/sysdeps/generic/_G_config.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/_G_config.h (original)
+++ fsf/trunk/libc/sysdeps/generic/_G_config.h Fri Jan 27 00:03:30 2012
@@ -84,10 +84,6 @@
#define _G_VTABLE_LABEL_HAS_LENGTH 1
-#if defined __cplusplus || defined __STDC__
-# define _G_ARGS(ARGLIST) ARGLIST
-#else
-# define _G_ARGS(ARGLIST) ()
-#endif
+#define _G_ARGS(ARGLIST) ARGLIST
#endif /* _G_config.h */
Modified: fsf/trunk/libc/sysdeps/generic/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/generic/sysdep.h Fri Jan 27 00:03:30 2012
@@ -21,11 +21,7 @@
#ifndef C_LABEL
/* Define a macro we can use to construct the asm name for a C symbol. */
-# ifdef __STDC__
-# define C_LABEL(name) name##:
-# else
-# define C_LABEL(name) name/**/:
-# endif
+# define C_LABEL(name) name##:
#endif
Modified: fsf/trunk/libc/sysdeps/gnu/_G_config.h
==============================================================================
--- fsf/trunk/libc/sysdeps/gnu/_G_config.h (original)
+++ fsf/trunk/libc/sysdeps/gnu/_G_config.h Fri Jan 27 00:03:30 2012
@@ -92,10 +92,6 @@
#define _G_VTABLE_LABEL_PREFIX_ID __vt_
-#if defined __cplusplus || defined __STDC__
-# define _G_ARGS(ARGLIST) ARGLIST
-#else
-# define _G_ARGS(ARGLIST) ()
-#endif
+#define _G_ARGS(ARGLIST) ARGLIST
#endif /* _G_config.h */
Modified: fsf/trunk/libc/sysdeps/i386/asm-syntax.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/asm-syntax.h (original)
+++ fsf/trunk/libc/sysdeps/i386/asm-syntax.h Fri Jan 27 00:03:30 2012
@@ -23,15 +23,7 @@
#undef L
#ifdef __ELF__
-# ifdef __STDC__
-# define L(body) .L##body
-# else
-# define L(body) .L/**/body
-# endif
+# define L(body) .L##body
#else
-# ifdef __STDC__
-# define L(body) L##body
-# else
-# define L(body) L/**/body
-# endif
+# define L(body) L##body
#endif
Modified: fsf/trunk/libc/sysdeps/mach/hurd/_G_config.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/_G_config.h (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/_G_config.h Fri Jan 27 00:03:30 2012
@@ -91,10 +91,6 @@
#define _G_VTABLE_LABEL_PREFIX_ID __vt_
-#if defined __cplusplus || defined __STDC__
-# define _G_ARGS(ARGLIST) ARGLIST
-#else
-# define _G_ARGS(ARGLIST) ()
-#endif
+#define _G_ARGS(ARGLIST) ARGLIST
#endif /* _G_config.h */
Modified: fsf/trunk/libc/sysdeps/powerpc/bits/mathdef.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/bits/mathdef.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/bits/mathdef.h Fri Jan 27 00:03:30 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2000,2003,2004,2006,2010
+/* Copyright (C) 1997,1998,1999,2000,2003,2004,2006,2010,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -32,23 +32,13 @@
# define _MATH_H_MATHDEF 1
# ifdef __GNUC__
-# if __STDC__ == 1
-/* In GNU or ANSI mode, gcc leaves `float' expressions as-is. */
+/* gcc leaves `float' expressions as-is. */
typedef float float_t; /* `float' expressions are evaluated as
`float'. */
typedef double double_t; /* `double' expressions are evaluated as
`double'. */
-# else
-
-/* For `gcc -traditional', `float' expressions are evaluated as `double'. */
-typedef double float_t; /* `float' expressions are evaluated as
- `double'. */
-typedef double double_t; /* `double' expressions are evaluated as
- `double'. */
-
-# endif
# else
/* Wild guess at types for float_t and double_t. */
Modified: fsf/trunk/libc/sysdeps/s390/asm-syntax.h
==============================================================================
--- fsf/trunk/libc/sysdeps/s390/asm-syntax.h (original)
+++ fsf/trunk/libc/sysdeps/s390/asm-syntax.h Fri Jan 27 00:03:30 2012
@@ -23,15 +23,7 @@
#undef L
#ifdef __ELF__
-# ifdef __STDC__
-# define L(body) .L##body
-# else
-# define L(body) .L/**/body
-# endif
+# define L(body) .L##body
#else
-# ifdef __STDC__
-# define L(body) L##body
-# else
-# define L(body) L/**/body
-# endif
+# define L(body) L##body
#endif
Modified: fsf/trunk/libc/sysdeps/sh/sh4/bits/mathdef.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sh/sh4/bits/mathdef.h (original)
+++ fsf/trunk/libc/sysdeps/sh/sh4/bits/mathdef.h Fri Jan 27 00:03:30 2012
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2004, 2012
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,23 +32,13 @@
# define _MATH_H_MATHDEF 1
# ifdef __GNUC__
-# if __STDC__ == 1
-/* In GNU or ANSI mode, gcc leaves `float' expressions as-is. */
+/* gcc leaves `float' expressions as-is. */
typedef float float_t; /* `float' expressions are evaluated as
`float'. */
typedef double double_t; /* `double' expressions are evaluated as
`double'. */
-# else
-
-/* For `gcc -traditional', `float' expressions are evaluated as `double'. */
-typedef double float_t; /* `float' expressions are evaluated as
- `double'. */
-typedef double double_t; /* `double' expressions are evaluated as
- `double'. */
-
-# endif
# else
/* Wild guess at types for float_t and double_t. */
Modified: fsf/trunk/libc/sysdeps/sparc/bits/mathdef.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/bits/mathdef.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/bits/mathdef.h Fri Jan 27 00:03:30 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000, 2004, 2006
+/* Copyright (C) 1997, 1998, 1999, 2000, 2004, 2006, 2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -30,19 +30,11 @@
# define _MATH_H_MATHDEF 1
# ifdef __GNUC__
-# if __STDC__ == 1
-/* In GNU or ANSI mode, gcc leaves `float' expressions as-is. */
+/* gcc leaves `float' expressions as-is. */
typedef float float_t;
typedef double double_t;
-# else
-
-/* For `gcc -traditional', `float' expressions are evaluated as `double'. */
-typedef double float_t;
-typedef double double_t;
-
-# endif
# else
/* Wild guess at types for float_t and double_t. */
Modified: fsf/trunk/libc/sysdeps/unix/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysdep.h Fri Jan 27 00:03:30 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 96, 98, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 96, 98, 2003, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,11 +22,7 @@
#define HAVE_SYSCALLS
/* Note that using a `PASTE' macro loses. */
-#ifdef __STDC__
#define SYSCALL__(name, args) PSEUDO (__##name, name, args)
-#else
-#define SYSCALL__(name, args) PSEUDO (__/**/name, name, args)
-#endif
#define SYSCALL(name, args) PSEUDO (name, name, args)
/* Machine-dependent sysdep.h files are expected to define the macro
@@ -36,11 +32,7 @@
an instruction such that "MOVE(r1, r0)" works. ret should be defined
as the return instruction. */
-#ifdef __STDC__
#define SYS_ify(syscall_name) SYS_##syscall_name
-#else
-#define SYS_ify(syscall_name) SYS_/**/syscall_name
-#endif
/* Terminate a system call named SYM. This is used on some platforms
to generate correct debugging information. */
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h Fri Jan 27 00:03:30 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,1997-2003,2004,2005,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1992,1997-2006,2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -45,11 +45,7 @@
of the kernel. But these symbols do not follow the SYS_* syntax
so we have to redefine the `SYS_ify' macro here. */
#undef SYS_ify
-#ifdef __STDC__
-# define SYS_ify(syscall_name) __NR_##syscall_name
-#else
-# define SYS_ify(syscall_name) __NR_/**/syscall_name
-#endif
+#define SYS_ify(syscall_name) __NR_##syscall_name
#ifndef __ASSEMBLER__
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h Fri Jan 27 00:03:30 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006
+/* Copyright (C) 1992,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -53,11 +53,7 @@
of the kernel. But these symbols do not follow the SYS_* syntax
so we have to redefine the `SYS_ify' macro here. */
#undef SYS_ify
-#ifdef __STDC__
-# define SYS_ify(syscall_name) __NR_##syscall_name
-#else
-# define SYS_ify(syscall_name) __NR_/**/syscall_name
-#endif
+#define SYS_ify(syscall_name) __NR_##syscall_name
#ifdef __ASSEMBLER__
Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_atan2.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_atan2.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_atan2.c Fri Jan 27 00:03:30 2012
@@ -14,7 +14,7 @@
libm_ifunc (__ieee754_atan2,
HAS_FMA4 ? __ieee754_atan2_fma4
- : (HAS_AVX ? __ieee754_atan2_avx : __ieee754_atan2_sse2));
+ : (HAS_YMM_USABLE ? __ieee754_atan2_avx : __ieee754_atan2_sse2));
strong_alias (__ieee754_atan2, __atan2_finite)
# define __ieee754_atan2 __ieee754_atan2_sse2
Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_exp.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_exp.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_exp.c Fri Jan 27 00:03:30 2012
@@ -14,7 +14,7 @@
libm_ifunc (__ieee754_exp,
HAS_FMA4 ? __ieee754_exp_fma4
- : (HAS_AVX ? __ieee754_exp_avx : __ieee754_exp_sse2));
+ : (HAS_YMM_USABLE ? __ieee754_exp_avx : __ieee754_exp_sse2));
strong_alias (__ieee754_exp, __exp_finite)
# define __ieee754_exp __ieee754_exp_sse2
Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_log.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_log.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/e_log.c Fri Jan 27 00:03:30 2012
@@ -14,7 +14,7 @@
libm_ifunc (__ieee754_log,
HAS_FMA4 ? __ieee754_log_fma4
- : (HAS_AVX ? __ieee754_log_avx
+ : (HAS_YMM_USABLE ? __ieee754_log_avx
: __ieee754_log_sse2));
strong_alias (__ieee754_log, __log_finite)
Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_atan.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_atan.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_atan.c Fri Jan 27 00:03:30 2012
@@ -12,7 +12,8 @@
# define __atan_fma4 ((void *) 0)
# endif
-libm_ifunc (atan, HAS_FMA4 ? __atan_fma4 : HAS_AVX ? __atan_avx : __atan_sse2);
+libm_ifunc (atan, (HAS_FMA4 ? __atan_fma4 :
+ HAS_YMM_USABLE ? __atan_avx : __atan_sse2));
# define atan __atan_sse2
#endif
Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_sin.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_sin.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_sin.c Fri Jan 27 00:03:30 2012
@@ -17,10 +17,12 @@
# define __sin_fma4 ((void *) 0)
# endif
-libm_ifunc (__cos, HAS_FMA4 ? __cos_fma4 : HAS_AVX ? __cos_avx : __cos_sse2);
+libm_ifunc (__cos, (HAS_FMA4 ? __cos_fma4 :
+ HAS_YMM_USABLE ? __cos_avx : __cos_sse2));
weak_alias (__cos, cos)
-libm_ifunc (__sin, HAS_FMA4 ? __sin_fma4 : HAS_AVX ? __sin_avx : __sin_sse2);
+libm_ifunc (__sin, (HAS_FMA4 ? __sin_fma4 :
+ HAS_YMM_USABLE ? __sin_avx : __sin_sse2));
weak_alias (__sin, sin)
# define __cos __cos_sse2
Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_tan.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_tan.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/multiarch/s_tan.c Fri Jan 27 00:03:30 2012
@@ -12,7 +12,8 @@
# define __tan_fma4 ((void *) 0)
# endif
-libm_ifunc (tan, HAS_FMA4 ? __tan_fma4 : HAS_AVX ? __tan_avx : __tan_sse2);
+libm_ifunc (tan, (HAS_FMA4 ? __tan_fma4 :
+ HAS_YMM_USABLE ? __tan_avx : __tan_sse2));
# define tan __tan_sse2
#endif
Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.c Fri Jan 27 00:03:30 2012
@@ -1,6 +1,6 @@
/* Initialize CPU feature data.
This file is part of the GNU C Library.
- Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>.
The GNU C Library is free software; you can redistribute it and/or
@@ -144,6 +144,18 @@
else
kind = arch_kind_other;
+ if (__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_AVX)
+ {
+ /* Reset the AVX bit in case OSXSAVE is disabled. */
+ if ((__cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx & bit_OSXSAVE) != 0
+ && ({ unsigned int xcrlow;
+ unsigned int xcrhigh;
+ asm ("xgetbv"
+ : "=a" (xcrlow), "=d" (xcrhigh) : "c" (0));
+ (xcrlow & 6) == 6; }))
+ __cpu_features.feature[index_YMM_Usable] |= bit_YMM_Usable;
+ }
+
__cpu_features.family = family;
__cpu_features.model = model;
atomic_write_barrier ();
Modified: fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/multiarch/init-arch.h Fri Jan 27 00:03:30 2012
@@ -1,5 +1,5 @@
/* This file is part of the GNU C Library.
- Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -22,11 +22,13 @@
#define bit_Prefer_SSE_for_memop (1 << 3)
#define bit_Fast_Unaligned_Load (1 << 4)
#define bit_Prefer_PMINUB_for_stringop (1 << 5)
+#define bit_YMM_Usable (1 << 6)
#define bit_SSE2 (1 << 26)
#define bit_SSSE3 (1 << 9)
#define bit_SSE4_1 (1 << 19)
#define bit_SSE4_2 (1 << 20)
+#define bit_OSXSAVE (1 << 27)
#define bit_AVX (1 << 28)
#define bit_POPCOUNT (1 << 23)
#define bit_FMA (1 << 12)
@@ -48,6 +50,7 @@
# define index_Prefer_SSE_for_memop FEATURE_INDEX_1*FEATURE_SIZE
# define index_Fast_Unaligned_Load FEATURE_INDEX_1*FEATURE_SIZE
# define index_Prefer_PMINUB_for_stringop FEATURE_INDEX_1*FEATURE_SIZE
+# define index_YMM_Usable FEATURE_INDEX_1*FEATURE_SIZE
#else /* __ASSEMBLER__ */
@@ -92,7 +95,7 @@
extern void __init_cpu_features (void) attribute_hidden;
-#define INIT_ARCH()\
+# define INIT_ARCH() \
do \
if (__cpu_features.kind == arch_kind_unknown) \
__init_cpu_features (); \
@@ -125,23 +128,21 @@
# define index_Slow_BSF FEATURE_INDEX_1
# define index_Prefer_SSE_for_memop FEATURE_INDEX_1
# define index_Fast_Unaligned_Load FEATURE_INDEX_1
+# define index_YMM_Usable FEATURE_INDEX_1
-#define HAS_ARCH_FEATURE(idx, bit) \
- ((__get_cpu_features ()->feature[idx] & (bit)) != 0)
+# define HAS_ARCH_FEATURE(name) \
+ ((__get_cpu_features ()->feature[index_##name] & (bit_##name)) != 0)
-#define HAS_FAST_REP_STRING \
- HAS_ARCH_FEATURE (index_Fast_Rep_String, bit_Fast_Rep_String)
+# define HAS_FAST_REP_STRING HAS_ARCH_FEATURE (Fast_Rep_String)
-#define HAS_FAST_COPY_BACKWARD \
- HAS_ARCH_FEATURE (index_Fast_Copy_Backward, bit_Fast_Copy_Backward)
+# define HAS_FAST_COPY_BACKWARD HAS_ARCH_FEATURE (Fast_Copy_Backward)
-#define HAS_SLOW_BSF \
- HAS_ARCH_FEATURE (index_Slow_BSF, bit_Slow_BSF)
+# define HAS_SLOW_BSF HAS_ARCH_FEATURE (Slow_BSF)
-#define HAS_PREFER_SSE_FOR_MEMOP \
- HAS_ARCH_FEATURE (index_Prefer_SSE_for_memop, bit_Prefer_SSE_for_memop)
+# define HAS_PREFER_SSE_FOR_MEMOP HAS_ARCH_FEATURE (Prefer_SSE_for_memop)
-#define HAS_FAST_UNALIGNED_LOAD \
- HAS_ARCH_FEATURE (index_Fast_Unaligned_Load, bit_Fast_Unaligned_Load)
+# define HAS_FAST_UNALIGNED_LOAD HAS_ARCH_FEATURE (Fast_Unaligned_Load)
+
+# define HAS_YMM_USABLE HAS_ARCH_FEATURE (YMM_Usable)
#endif /* __ASSEMBLER__ */
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits