[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r18450 - in /fsf/trunk/libc: ./ conform/data/ elf/ nptl/ nptl/sysdeps/unix/sysv/linux/sh/ nscd/ stdlib/ string/bits/ sysdeps...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r18450 - in /fsf/trunk/libc: ./ conform/data/ elf/ nptl/ nptl/sysdeps/unix/sysv/linux/sh/ nscd/ stdlib/ string/bits/ sysdeps...
- From: eglibc@xxxxxxxxxx
- Date: Thu, 10 May 2012 00:01:39 -0000
Author: eglibc
Date: Thu May 10 00:01:38 2012
New Revision: 18450
Log:
Import glibc-mainline for 2012-05-10
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/conform/data/locale.h-data
fsf/trunk/libc/conform/data/math.h-data
fsf/trunk/libc/conform/data/setjmp.h-data
fsf/trunk/libc/conform/data/signal.h-data
fsf/trunk/libc/conform/data/stdarg.h-data
fsf/trunk/libc/elf/ldconfig.c
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
fsf/trunk/libc/nscd/nscd.c
fsf/trunk/libc/stdlib/longlong.h
fsf/trunk/libc/string/bits/string2.h
fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h
fsf/trunk/libc/time/tzset.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu May 10 00:01:38 2012
@@ -1,3 +1,203 @@
+2012-05-09 H.J. Lu <hongjiu.lu@xxxxxxxxx>
+
+ * stdlib/longlong.h: Updated from GCC.
+
+2012-05-09 Andreas Jaeger <aj@xxxxxxx>
+
+ * nscd/nscd.c (run_modes): Make named enum, reorder so that
+ default is first entry.
+ (run_mode): Set type.
+ (main): Remove informal message about syslog.
+ (options): Fix typo.
+
+ [BZ #14053]
+ * sysdeps/x86_64/fpu/bits/mathinline.h (lrintf): Add __volatile
+ to asm.
+ (lrint): Likewise.
+ (llrintf): Likewise.
+ (llrint): Likewise.
+ (rint): Likewise.
+ (rintf): Likewise.
+ (nearbyint): Likewise.
+ (nearbyintf): Likewise.
+
+2012-05-09 Andreas Jaeger <aj@xxxxxxx>
+ Pedro Alves <palves@xxxxxxxxxx>
+
+ * nscd/nscd.c (run_mode): Use enum.
+ (main): Cleanup coding style issue.
+
+2012-05-09 Alexandre Oliva <aoliva@xxxxxxxxxx>
+ Andreas Jaeger <aj@xxxxxxx>
+
+ * nscd/nscd.c (go_background): Replaced with...
+ (run_mode): ... this.
+ (RUN_FOREGROUND, RUN_DAEMONIZE, RUN_DEBUG): Add.
+ (options): Add -F --foreground.
+ (main): Implement it.
+ (parse_opt): Parse it.
+
+2012-05-09 Andreas Jaeger <aj@xxxxxxx>
+
+ [BZ #14083]
+ * string/bits/string2.h (strspn) [__GNUC_PREREQ(3, 2) &&
+ !_HAVE_STRING_ARCH_strspn]: Cast zero to size_t to avoid
+ -Wconversion warning.
+ (strspn) [!__GNUC_PREREQ(3, 2) && !_HAVE_STRING_ARCH_strspn]:
+ Likewise.
+
+2012-05-09 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * conform/data/locale.h-data (NULL): Use macro-constant. Require
+ == 0.
+ (LC_ALL): Use macro-int-constant.
+ (LC_COLLATE): Likewise.
+ (LC_CTYPE): Likewise.
+ (LC_MESSAGES): Likewise.
+ (LC_MONETARY): Likewise.
+ (LC_NUMERIC): Likewise.
+ (LC_TIME): Likewise.
+ [ISO || ISO99 || ISO11] (LC_MESSAGES): Do not require.
+ (LC_*): Change to LC_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*.
+ [ISO || ISO99 || ISO11] (*_t): Do not allow.
+ * conform/data/math.h-data (HUGE_VAL): Use macro-constant.
+ Specify type.
+ [C99-based standards] (float_t): Expect type.
+ [C99-based standards] (double_t): Expect type.
+ [C99-based standards] (HUGE_VALF): Use macro-constant. Specify
+ type.
+ [C99-based standards] (HUGE_VALL): Likewise.
+ [C99-based standards] (INFINITY): Likewise.
+ [C99-based standards] (NAN): Likewise.
+ [C99-based standards] (FP_INFINITE): Use macro-int-constant.
+ [C99-based standards] (FP_NAN): Likewise.
+ [C99-based standards] (FP_NORMAL): Likewise.
+ [C99-based standards] (FP_SUBNORMAL): Likewise.
+ [C99-based standards] (FP_ZERO): Likewise.
+ [C99-based standards] (FP_FAST_FMA): Use
+ optional-macro-int-constant. Specify type. Require == 1.
+ [C99-based standards] (FP_FAST_FMAF): Likewise.
+ [C99-based standards] (FP_FAST_FMAL): Likewise.
+ [C99-based standards] (FP_ILOGB0): Use macro-int-constant.
+ [C99-based standards] (FP_ILOGBNAN): Likewise.
+ [C99-based standards] (MATH_ERRNO): Use macro-int-constant.
+ Specify type.
+ [C99-based standards] (MATH_ERREXCEPT): Likewise.
+ [C99-based standards] (math_errhandling): Specify type.
+ [ISO99 || ISO11] (signgam): Do not allow.
+ [non-C99-based standards] (copysignf): Do not allow.
+ [non-C99-based standards] (exp2f): Likewise.
+ [non-C99-based standards] (log2f): Likewise.
+ [non-C99-based standards] (modff): Allow.
+ [non-C99-based standards] (erff): Do not allow.
+ [non-C99-based standards] (erfcf): Likewise.
+ [non-C99-based standards] (gammaf): Likewise.
+ [non-C99-based standards] (hypotf): Likewise.
+ [non-C99-based standards] (j0f): Likewise.
+ [non-C99-based standards] (j1f): Likewise.
+ [non-C99-based standards] (jnf): Likewise.
+ [non-C99-based standards] (lgammaf): Likewise.
+ [non-C99-based standards] (tgammaf): Likewise.
+ [non-C99-based standards] (y0f): Likewise.
+ [non-C99-based standards] (y1f): Likewise.
+ [non-C99-based standards] (ynf): Likewise.
+ [non-C99-based standards] (isnanf): Likewise.
+ [non-C99-based standards] (acoshf): Likewise.
+ [non-C99-based standards] (asinhf): Likewise.
+ [non-C99-based standards] (atanhf): Likewise.
+ [non-C99-based standards] (cbrtf): Likewise.
+ [non-C99-based standards] (expm1f): Likewise.
+ [non-C99-based standards] (ilogbf): Likewise.
+ [non-C99-based standards] (log1pf): Likewise.
+ [non-C99-based standards] (logbf): Likewise.
+ [non-C99-based standards] (nextafterf): Likewise.
+ [non-C99-based standards] (remainderf): Likewise.
+ [non-C99-based standards] (rintf): Likewise.
+ [non-C99-based standards] (scalbf): Likewise.
+ [non-C99-based standards] (copysignl): Likewise.
+ [non-C99-based standards] (exp2l): Likewise.
+ [non-C99-based standards] (log2l): Likewise.
+ [non-C99-based standards] (modfl): Allow.
+ [non-C99-based standards] (erfl): Do not allow.
+ [non-C99-based standards] (erfcl): Likewise.
+ [non-C99-based standards] (gammal): Likewise.
+ [non-C99-based standards] (hypotl): Likewise.
+ [non-C99-based standards] (j0l): Likewise.
+ [non-C99-based standards] (j1l): Likewise.
+ [non-C99-based standards] (jnl): Likewise.
+ [non-C99-based standards] (lgammal): Likewise.
+ [non-C99-based standards] (tgammal): Likewise.
+ [non-C99-based standards] (y0l): Likewise.
+ [non-C99-based standards] (y1l): Likewise.
+ [non-C99-based standards] (ynl): Likewise.
+ [non-C99-based standards] (isnanl): Likewise.
+ [non-C99-based standards] (acoshl): Likewise.
+ [non-C99-based standards] (asinhl): Likewise.
+ [non-C99-based standards] (atanhl): Likewise.
+ [non-C99-based standards] (cbrtl): Likewise.
+ [non-C99-based standards] (expm1l): Likewise.
+ [non-C99-based standards] (ilogbl): Likewise.
+ [non-C99-based standards] (log1pl): Likewise.
+ [non-C99-based standards] (logbl): Likewise.
+ [non-C99-based standards] (nextafterl): Likewise.
+ [non-C99-based standards] (remainderl): Likewise.
+ [non-C99-based standards] (rintl): Likewise.
+ [non-C99-based standards] (scalbl): Likewise.
+ [ISO || ISO99 || ISO11] (*_t): Do not allow.
+ [non-C99-based standards] (FP_*): Do not allow.
+ [C99-based standards] (FP_*): Change to
+ FP_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*.
+ * conform/data/setjmp.h-data [ISO || ISO99 || ISO11] (*_t): Do not
+ allow.
+ * conform/data/signal.h-data (SIG_DFL): Use macro-constant.
+ (SIG_ERR): Likewise.
+ [X/Open-based standards] (SIG_HOLD): Likewise.
+ (SIG_IGN): Likewise.
+ (SIGABRT): Use macro-int-constant. Specify type. Require
+ positive value.
+ (SIGFPE): Likewise.
+ (SIGILL): Likewise.
+ (SIGINT): Likewise.
+ (SIGSEGV): Likewise.
+ (SIGTER): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGALRM): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGHUP): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGIO): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGKILL): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGPIPE): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGQUIT): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGUSR1): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGUSR2): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGCHLD): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGCONT): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGSTOP): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGTSTP): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGTTIN): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGTTOU): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGBUS): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGPOLL): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGPROF): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGSYS): Likewise.
+ [X/Open-based standards] (SIGTRAP): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGURG): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGVTALRM): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGXCPU): Likewise.
+ [!ISO && !ISO99 && !ISO11] (SIGXFSZ): Likewise.
+ * conform/data/stdarg.h-data [ISO || ISO99 || ISO11] (*_t): Do not
+ allow.
+
+2012-05-08 Ian Wienand <ianw@xxxxxxxxxx>
+
+ [BZ #14080]
+ * time/tzset.c (__tzset_parse_tz): Update default rules for
+ daylight time changes in the Energy Policy Act of 2005.
+
+2012-05-09 Andreas Jaeger <aj@xxxxxxx>
+
+ [BZ #13983]
+ * elf/ldconfig.c (parse_conf): Change string to make clear that
+ ldconfig only issued a warning if ld.so.conf does not exist.
+
2012-05-08 David S. Miller <davem@xxxxxxxxxxxxx>
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor-vis3.S: Use
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Thu May 10 00:01:38 2012
@@ -23,8 +23,8 @@
13854, 13871, 13872, 13873, 13879, 13883, 13884, 13885, 13886, 13892,
13895, 13908, 13910, 13911, 13912, 13913, 13914, 13915, 13916, 13917,
13918, 13919, 13920, 13921, 13922, 13923, 13924, 13926, 13927, 13928,
- 13938, 13941, 13942, 13963, 13967, 13970, 13973, 13979, 14027, 14033,
- 14034, 14040, 14049, 14055, 14064
+ 13938, 13941, 13942, 13963, 13967, 13970, 13973, 13979, 13983, 14027,
+ 14033, 14034, 14040, 14049, 14053, 14055, 14064, 14080, 14083
* ISO C11 support:
Modified: fsf/trunk/libc/conform/data/locale.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/locale.h-data (original)
+++ fsf/trunk/libc/conform/data/locale.h-data Thu May 10 00:01:38 2012
@@ -26,15 +26,17 @@
element {struct lconv} char int_p_sign_posn
#endif
-constant NULL
+macro-constant NULL == 0
-macro LC_ALL
-macro LC_COLLATE
-macro LC_CTYPE
-macro LC_MESSAGES
-macro LC_MONETARY
-macro LC_NUMERIC
-macro LC_TIME
+macro-int-constant LC_ALL
+macro-int-constant LC_COLLATE
+macro-int-constant LC_CTYPE
+#if !defined ISO && !defined ISO99 && !defined ISO11
+macro-int-constant LC_MESSAGES
+#endif
+macro-int-constant LC_MONETARY
+macro-int-constant LC_NUMERIC
+macro-int-constant LC_TIME
#if defined XOPEN2K8 || defined POSIX2008
constant LC_GLOBAL_LOCALE
@@ -59,8 +61,10 @@
function locale_t uselocale (locale_t)
#endif
-allow LC_*
+allow LC_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
+#if !defined ISO && !defined ISO99 && !defined ISO11
allow *_t
+#endif
#if defined XOPEN2K8 || defined POSIX2008
allow LC_*_MASK
#endif
Modified: fsf/trunk/libc/conform/data/math.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/math.h-data (original)
+++ fsf/trunk/libc/conform/data/math.h-data Thu May 10 00:01:38 2012
@@ -1,4 +1,4 @@
-constant HUGE_VAL
+macro-constant HUGE_VAL {double}
#if !defined ISO && !defined POSIX
# if !defined XPG3 && !defined XPG4 && !defined UNIX98
@@ -14,6 +14,8 @@
macro islessequal
macro islessgreater
macro isunordered
+type float_t
+type double_t
# endif
# if defined XPG3 || defined XPG4 || defined UNIX98
function double isnan (double)
@@ -37,28 +39,28 @@
constant MAXFLOAT
# endif
# if !defined XPG3 && !defined XPG4 && !defined UNIX98
-constant HUGE_VALF
-constant HUGE_VALL
-constant INFINITY
-constant NAN
-
-macro FP_INFINITE
-macro FP_NAN
-macro FP_NORMAL
-macro FP_SUBNORMAL
-macro FP_ZERO
-
-optional-macro FP_FAST_FMA
-optional-macro FP_FAST_FMAF
-optional-macro FP_FAST_FMAL
-
-constant FP_ILOGB0
-constant FP_ILOGBNAN
-
-macro MATH_ERRNO == 1
-macro MATH_ERREXCEPT == 2
-
-macro math_errhandling
+macro-constant HUGE_VALF {float}
+macro-constant HUGE_VALL {long double}
+macro-constant INFINITY {float}
+macro-constant NAN {float}
+
+macro-int-constant FP_INFINITE
+macro-int-constant FP_NAN
+macro-int-constant FP_NORMAL
+macro-int-constant FP_SUBNORMAL
+macro-int-constant FP_ZERO
+
+optional-macro-int-constant FP_FAST_FMA {int} == 1
+optional-macro-int-constant FP_FAST_FMAF {int} == 1
+optional-macro-int-constant FP_FAST_FMAL {int} == 1
+
+macro-int-constant FP_ILOGB0
+macro-int-constant FP_ILOGBNAN
+
+macro-int-constant MATH_ERRNO {int} == 1
+macro-int-constant MATH_ERREXCEPT {int} == 2
+
+macro math_errhandling {int}
# endif
#endif
@@ -155,7 +157,7 @@
# endif
# endif
-# if !defined POSIX && !defined POSIX2008
+# if !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
// variable signgam
allow signgam
# endif
@@ -303,11 +305,9 @@
allow atanf
allow atan2f
allow ceilf
-allow copysignf
allow cosf
allow coshf
allow expf
-allow exp2f
allow fabsf
allow floorf
allow fmodf
@@ -315,49 +315,22 @@
allow ldexpf
allow logf
allow log10f
-allow log2f
+allow modff
allow powf
allow sinf
allow sinhf
allow sqrtf
allow tanf
allow tanhf
-allow erff
-allow erfcf
-allow gammaf
-allow hypotf
-allow j0f
-allow j1f
-allow jnf
-allow lgammaf
-allow tgammaf
-allow y0f
-allow y1f
-allow ynf
-allow isnanf
-allow acoshf
-allow asinhf
-allow atanhf
-allow cbrtf
-allow expm1f
-allow ilogbf
-allow log1pf
-allow logbf
-allow nextafterf
-allow remainderf
-allow rintf
-allow scalbf
allow acosl
allow asinl
allow atanl
allow atan2l
allow ceill
-allow copysignl
allow cosl
allow coshl
allow expl
-allow exp2l
allow fabsl
allow floorl
allow fmodl
@@ -365,41 +338,18 @@
allow ldexpl
allow logl
allow log10l
-allow log2l
+allow modfl
allow powl
allow sinl
allow sinhl
allow sqrtl
allow tanl
allow tanhl
-allow erfl
-allow erfcl
-allow gammal
-allow hypotl
-allow j0l
-allow j1l
-allow jnl
-allow lgammal
-allow tgammal
-allow y0l
-allow y1l
-allow ynl
-allow isnanl
-allow acoshl
-allow asinhl
-allow atanhl
-allow cbrtl
-allow expm1l
-allow ilogbl
-allow log1pl
-allow logbl
-allow nextafterl
-allow remainderl
-allow rintl
-allow scalbl
-#endif
-
+#endif
+
+#if !defined ISO && !defined ISO99 && !defined ISO11
allow *_t
-// The following expressions are not entirely correct but the current
-// poorfnmatch implementation doesn't grok the right form.
-allow FP_*
+#endif
+#if !defined ISO && !defined POSIX && !defined XPG3 && !defined XPG4 && !defined UNIX98
+allow FP_[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
+#endif
Modified: fsf/trunk/libc/conform/data/setjmp.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/setjmp.h-data (original)
+++ fsf/trunk/libc/conform/data/setjmp.h-data Thu May 10 00:01:38 2012
@@ -19,4 +19,6 @@
# endif
#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/signal.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/signal.h-data (original)
+++ fsf/trunk/libc/conform/data/signal.h-data Thu May 10 00:01:38 2012
@@ -1,9 +1,9 @@
-constant SIG_DFL {void(*)(int)}
-constant SIG_ERR {void(*)(int)}
+macro-constant SIG_DFL {void(*)(int)}
+macro-constant SIG_ERR {void(*)(int)}
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
-constant SIG_HOLD {void(*)(int)}
-#endif
-constant SIG_IGN {void(*)(int)}
+macro-constant SIG_HOLD {void(*)(int)}
+#endif
+macro-constant SIG_IGN {void(*)(int)}
type sig_atomic_t
#if !defined ISO && !defined ISO99 && !defined ISO11
@@ -56,42 +56,42 @@
macro SIGRTMAX
#endif
-constant SIGABRT
-constant SIGFPE
-constant SIGILL
-constant SIGINT
-constant SIGSEGV
-constant SIGTERM
+macro-int-constant SIGABRT {int} > 0
+macro-int-constant SIGFPE {int} > 0
+macro-int-constant SIGILL {int} > 0
+macro-int-constant SIGINT {int} > 0
+macro-int-constant SIGSEGV {int} > 0
+macro-int-constant SIGTERM {int} > 0
function void (*signal (int, void(*)(int)))(int)
function int raise (int)
#if !defined ISO && !defined ISO99 && !defined ISO11
-constant SIGALRM
-constant SIGHUP
-constant SIGIO
-constant SIGKILL
-constant SIGPIPE
-constant SIGQUIT
-constant SIGUSR1
-constant SIGUSR2
-constant SIGCHLD
-constant SIGCONT
-constant SIGSTOP
-constant SIGTSTP
-constant SIGTTIN
-constant SIGTTOU
-constant SIGBUS
-constant SIGPOLL
-constant SIGPROF
-constant SIGSYS
-# if !defined POSIX && !defined POSIX2008
-constant SIGTRAP
-# endif
-constant SIGURG
-constant SIGVTALRM
-constant SIGXCPU
-constant SIGXFSZ
+macro-int-constant SIGALRM {int} > 0
+macro-int-constant SIGHUP {int} > 0
+macro-int-constant SIGIO {int} > 0
+macro-int-constant SIGKILL {int} > 0
+macro-int-constant SIGPIPE {int} > 0
+macro-int-constant SIGQUIT {int} > 0
+macro-int-constant SIGUSR1 {int} > 0
+macro-int-constant SIGUSR2 {int} > 0
+macro-int-constant SIGCHLD {int} > 0
+macro-int-constant SIGCONT {int} > 0
+macro-int-constant SIGSTOP {int} > 0
+macro-int-constant SIGTSTP {int} > 0
+macro-int-constant SIGTTIN {int} > 0
+macro-int-constant SIGTTOU {int} > 0
+macro-int-constant SIGBUS {int} > 0
+macro-int-constant SIGPOLL {int} > 0
+macro-int-constant SIGPROF {int} > 0
+macro-int-constant SIGSYS {int} > 0
+# if !defined POSIX && !defined POSIX2008
+macro-int-constant SIGTRAP {int} > 0
+# endif
+macro-int-constant SIGURG {int} > 0
+macro-int-constant SIGVTALRM {int} > 0
+macro-int-constant SIGXCPU {int} > 0
+macro-int-constant SIGXFSZ {int} > 0
type {struct sigaction}
Modified: fsf/trunk/libc/conform/data/stdarg.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/stdarg.h-data (original)
+++ fsf/trunk/libc/conform/data/stdarg.h-data Thu May 10 00:01:38 2012
@@ -9,4 +9,6 @@
macro va_copy
#endif
+#if !defined ISO && !defined ISO99 && !defined ISO11
allow *_t
+#endif
Modified: fsf/trunk/libc/elf/ldconfig.c
==============================================================================
--- fsf/trunk/libc/elf/ldconfig.c (original)
+++ fsf/trunk/libc/elf/ldconfig.c Thu May 10 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2011, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Jaeger <aj@xxxxxxx>, 1999.
@@ -1061,7 +1061,9 @@
if (file == NULL)
{
- error (0, errno, _("Can't open configuration file %s"), canon);
+ error (0, errno, _("\
+Warning: ignoring configuration file that cannot be opened: %s"),
+ canon);
if (canon != filename)
free ((char *) canon);
return;
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Thu May 10 00:01:38 2012
@@ -1,3 +1,12 @@
+2012-05-09 Chung-Lin Tang <cltang@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
+ (__pthread_cond_timedwait): Use CFI directives.
+ * sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
+ (__pthread_cond_wait): Likewise.
+ * sysdeps/unix/sysv/linux/sh/sem_timedwait.S (sem_timedwait): Likewise.
+ * sysdeps/unix/sysv/linux/sh/sem_wait.S (__new_sem_wait): Likewise.
+
2012-05-03 David S. Miller <davem@xxxxxxxxxxxxx>
* sysdeps/sparc/sparc64/pthread_spin_unlock.S: Fix thinko, we
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S Thu May 10 00:01:38 2012
@@ -31,24 +31,41 @@
.globl __pthread_cond_timedwait
.type __pthread_cond_timedwait, @function
.align 5
+ cfi_startproc
__pthread_cond_timedwait:
.LSTARTCODE:
+#ifdef SHARED
+ cfi_personality(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect,
+ DW.ref.__gcc_personality_v0)
+ cfi_lsda(DW_EH_PE_pcrel | DW_EH_PE_sdata4, .LexceptSTART)
+#else
+ cfi_personality(DW_EH_PE_absptr, __gcc_personality_v0)
+ cfi_lsda(DW_EH_PE_absptr, .LexceptSTART)
+#endif
mov.l r8, @-r15
-.Lpush_r8:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r8, 0)
mov.l r9, @-r15
-.Lpush_r9:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r9, 0)
mov.l r10, @-r15
-.Lpush_r10:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r10, 0)
mov.l r11, @-r15
-.Lpush_r11:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r11, 0)
mov.l r12, @-r15
-.Lpush_r12:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r12, 0)
mov.l r13, @-r15
-.Lpush_r13:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r13, 0)
sts.l pr, @-r15
-.Lpush_pr:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (pr, 0)
add #-64, r15
-.Lalloc:
+ cfi_adjust_cfa_offset (64)
+
mov r4, r8
mov r5, r9
mov r6, r13
@@ -724,15 +741,15 @@
.long _Unwind_Resume
#endif
.LENDCODE:
+ cfi_endproc
.size __condvar_tw_cleanup, .-__condvar_tw_cleanup
.section .gcc_except_table,"a",@progbits
.LexceptSTART:
- .byte 0xff ! @LPStart format (omit)
- .byte 0xff ! @TType format (omit)
- .byte 0x0b ! call-site format
- ! DW_EH_PE_sdata4
+ .byte DW_EH_PE_omit ! @LPStart format (omit)
+ .byte DW_EH_PE_omit ! @TType format (omit)
+ .byte DW_EH_PE_sdata4 ! call-site format
.uleb128 .Lcstend-.Lcstbegin
.Lcstbegin:
.ualong .LcleanupSTART-.LSTARTCODE
@@ -745,109 +762,6 @@
.uleb128 0
.Lcstend:
- .section .eh_frame,"a",@progbits
-.LSTARTFRAME:
- .ualong .LENDCIE-.LSTARTCIE ! Length of the CIE.
-.LSTARTCIE:
- .ualong 0 ! CIE ID.
- .byte 1 ! Version number.
-#ifdef SHARED
- .string "zPLR" ! NUL-terminated augmentation
- ! string.
-#else
- .string "zPL" ! NUL-terminated augmentation
- ! string.
-#endif
- .uleb128 1 ! Code alignment factor.
- .sleb128 -4 ! Data alignment factor.
- .byte 0x11 ! Return address register
- ! column.
-#ifdef SHARED
- .uleb128 7 ! Augmentation value length.
- .byte 0x9b ! Personality: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4
- ! + DW_EH_PE_indirect
- .ualong DW.ref.__gcc_personality_v0-.
- .byte 0x1b ! LSDA Encoding: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4.
- .byte 0x1b ! FDE Encoding: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4.
-#else
- .uleb128 6 ! Augmentation value length.
- .byte 0x0 ! Personality: absolute
- .ualong __gcc_personality_v0
- .byte 0x0 ! LSDA Encoding: absolute
-#endif
- .byte 0x0c ! DW_CFA_def_cfa
- .uleb128 0xf
- .uleb128 0
- .align 2
-.LENDCIE:
-
- .ualong .LENDFDE-.LSTARTFDE ! Length of the FDE.
-.LSTARTFDE:
- .ualong .LSTARTFDE-.LSTARTFRAME ! CIE pointer.
-#ifdef SHARED
- .ualong .LSTARTCODE-. ! PC-relative start address
- ! of the code.
-#else
- .ualong .LSTARTCODE ! Start address of the code.
-#endif
- .ualong .LENDCODE-.LSTARTCODE ! Length of the code.
- .uleb128 4 ! Augmentation size
-#ifdef SHARED
- .ualong .LexceptSTART-.
-#else
- .ualong .LexceptSTART
-#endif
- .byte 0x4
- .ualong .Lpush_r8-.LSTARTCODE
- .byte 0xe
- .uleb128 4
- .byte 0x88
- .uleb128 1
- .byte 0x4
- .ualong .Lpush_r9-.Lpush_r8
- .byte 0xe
- .uleb128 8
- .byte 0x89
- .uleb128 2
- .byte 0x4
- .ualong .Lpush_r10-.Lpush_r9
- .byte 0xe
- .uleb128 12
- .byte 0x8a
- .uleb128 3
- .byte 0x4
- .ualong .Lpush_r11-.Lpush_r10
- .byte 0xe
- .uleb128 16
- .byte 0x8b
- .uleb128 4
- .byte 0x4
- .ualong .Lpush_r12-.Lpush_r11
- .byte 0xe
- .uleb128 20
- .byte 0x8c
- .uleb128 5
- .byte 0x4
- .ualong .Lpush_r13-.Lpush_r12
- .byte 0xe
- .uleb128 24
- .byte 0x8d
- .uleb128 6
- .byte 0x4
- .ualong .Lpush_pr-.Lpush_r13
- .byte 0xe
- .uleb128 28
- .byte 0x91
- .uleb128 7
- .byte 0x4
- .ualong .Lalloc-.Lpush_pr
- .byte 0xe
- .uleb128 92
- .align 2
-.LENDFDE:
#ifdef SHARED
.hidden DW.ref.__gcc_personality_v0
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S Thu May 10 00:01:38 2012
@@ -29,22 +29,38 @@
.globl __pthread_cond_wait
.type __pthread_cond_wait, @function
.align 5
+ cfi_startproc
__pthread_cond_wait:
.LSTARTCODE:
+#ifdef SHARED
+ cfi_personality(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect,
+ DW.ref.__gcc_personality_v0)
+ cfi_lsda(DW_EH_PE_pcrel | DW_EH_PE_sdata4, .LexceptSTART)
+#else
+ cfi_personality(DW_EH_PE_absptr, __gcc_personality_v0)
+ cfi_lsda(DW_EH_PE_absptr, .LexceptSTART)
+#endif
mov.l r8, @-r15
-.Lpush_r8:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r8, 0)
mov.l r9, @-r15
-.Lpush_r9:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r9, 0)
mov.l r10, @-r15
-.Lpush_r10:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r10, 0)
mov.l r11, @-r15
-.Lpush_r11:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r11, 0)
mov.l r12, @-r15
-.Lpush_r12:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r12, 0)
sts.l pr, @-r15
-.Lpush_pr:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (pr, 0)
add #-48, r15
-.Lalloc:
+ cfi_adjust_cfa_offset (48)
+
mov r4, r8
mov r5, r9
#ifdef PIC
@@ -623,15 +639,15 @@
.long _Unwind_Resume
#endif
.LENDCODE:
+ cfi_endproc
.size __condvar_w_cleanup, .-__condvar_w_cleanup
.section .gcc_except_table,"a",@progbits
.LexceptSTART:
- .byte 0xff ! @LPStart format (omit)
- .byte 0xff ! @TType format (omit)
- .byte 0x0b ! call-site format
- ! DW_EH_PE_sdata4
+ .byte DW_EH_PE_omit ! @LPStart format (omit)
+ .byte DW_EH_PE_omit ! @TType format (omit)
+ .byte DW_EH_PE_sdata4 ! call-site format
.uleb128 .Lcstend-.Lcstbegin
.Lcstbegin:
.ualong .LcleanupSTART-.LSTARTCODE
@@ -644,103 +660,6 @@
.uleb128 0
.Lcstend:
- .section .eh_frame,"a",@progbits
-.LSTARTFRAME:
- .ualong .LENDCIE-.LSTARTCIE ! Length of the CIE.
-.LSTARTCIE:
- .ualong 0 ! CIE ID.
- .byte 1 ! Version number.
-#ifdef SHARED
- .string "zPLR" ! NUL-terminated augmentation
- ! string.
-#else
- .string "zPL" ! NUL-terminated augmentation
- ! string.
-#endif
- .uleb128 1 ! Code alignment factor.
- .sleb128 -4 ! Data alignment factor.
- .byte 0x11 ! Return address register
- ! column.
-#ifdef SHARED
- .uleb128 7 ! Augmentation value length.
- .byte 0x9b ! Personality: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4
- ! + DW_EH_PE_indirect
- .ualong DW.ref.__gcc_personality_v0-.
- .byte 0x1b ! LSDA Encoding: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4.
- .byte 0x1b ! FDE Encoding: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4.
-#else
- .uleb128 6 ! Augmentation value length.
- .byte 0x0 ! Personality: absolute
- .ualong __gcc_personality_v0
- .byte 0x0 ! LSDA Encoding: absolute
-#endif
- .byte 0x0c ! DW_CFA_def_cfa
- .uleb128 0xf
- .uleb128 0
- .align 2
-.LENDCIE:
-
- .ualong .LENDFDE-.LSTARTFDE ! Length of the FDE.
-.LSTARTFDE:
- .ualong .LSTARTFDE-.LSTARTFRAME ! CIE pointer.
-#ifdef SHARED
- .ualong .LSTARTCODE-. ! PC-relative start address
- ! of the code.
-#else
- .ualong .LSTARTCODE ! Start address of the code.
-#endif
- .ualong .LENDCODE-.LSTARTCODE ! Length of the code.
- .uleb128 4 ! Augmentation size
-#ifdef SHARED
- .ualong .LexceptSTART-.
-#else
- .ualong .LexceptSTART
-#endif
- .byte 0x4
- .ualong .Lpush_r8-.LSTARTCODE
- .byte 0xe
- .uleb128 4
- .byte 0x88
- .uleb128 1
- .byte 0x4
- .ualong .Lpush_r9-.Lpush_r8
- .byte 0xe
- .uleb128 8
- .byte 0x89
- .uleb128 2
- .byte 0x4
- .ualong .Lpush_r10-.Lpush_r9
- .byte 0xe
- .uleb128 12
- .byte 0x8a
- .uleb128 3
- .byte 0x4
- .ualong .Lpush_r11-.Lpush_r10
- .byte 0xe
- .uleb128 16
- .byte 0x8b
- .uleb128 4
- .byte 0x4
- .ualong .Lpush_r12-.Lpush_r11
- .byte 0xe
- .uleb128 20
- .byte 0x8c
- .uleb128 5
- .byte 0x4
- .ualong .Lpush_pr-.Lpush_r12
- .byte 0xe
- .uleb128 24
- .byte 0x91
- .uleb128 6
- .byte 0x4
- .ualong .Lalloc-.Lpush_pr
- .byte 0xe
- .uleb128 72
- .align 2
-.LENDFDE:
#ifdef SHARED
.hidden DW.ref.__gcc_personality_v0
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S Thu May 10 00:01:38 2012
@@ -33,8 +33,17 @@
.globl sem_timedwait
.type sem_timedwait,@function
.align 5
+ cfi_startproc
sem_timedwait:
.LSTARTCODE:
+#ifdef SHARED
+ cfi_personality(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect,
+ DW.ref.__gcc_personality_v0)
+ cfi_lsda(DW_EH_PE_pcrel | DW_EH_PE_sdata4, .LexceptSTART)
+#else
+ cfi_personality(DW_EH_PE_absptr, __gcc_personality_v0)
+ cfi_lsda(DW_EH_PE_absptr, .LexceptSTART)
+#endif
mov.l @r4, r0
2:
tst r0, r0
@@ -51,17 +60,23 @@
1:
/* Check whether the timeout value is valid. */
mov.l r8, @-r15
-.Lpush_r8:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r8, 0)
mov.l r9, @-r15
-.Lpush_r9:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r9, 0)
mov.l r10, @-r15
-.Lpush_r10:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r10, 0)
mov.l r12, @-r15
-.Lpush_r12:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r12, 0)
sts.l pr, @-r15
-.Lpush_pr:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (pr, 0)
add #-8, r15
-.Lalloc:
+ cfi_adjust_cfa_offset (8)
+
mov r4, r8
mov r5, r9
@@ -220,15 +235,15 @@
.long _Unwind_Resume
#endif
.LENDCODE:
+ cfi_endproc
.size sem_wait_cleanup,.-sem_wait_cleanup
.section .gcc_except_table,"a",@progbits
.LexceptSTART:
- .byte 0xff ! @LPStart format (omit)
- .byte 0xff ! @TType format (omit)
- .byte 0x01 ! call-site format
- ! DW_EH_PE_uleb128
+ .byte DW_EH_PE_omit ! @LPStart format (omit)
+ .byte DW_EH_PE_omit ! @TType format (omit)
+ .byte DW_EH_PE_uleb128 ! call-site format
.uleb128 .Lcstend-.Lcstbegin
.Lcstbegin:
.uleb128 .LcleanupSTART-.LSTARTCODE
@@ -241,101 +256,6 @@
.uleb128 0
.Lcstend:
-
- .section .eh_frame,"a",@progbits
-.LSTARTFRAME:
- .ualong .LENDCIE-.LSTARTCIE ! Length of the CIE.
-.LSTARTCIE:
- .ualong 0 ! CIE ID.
- .byte 1 ! Version number.
-#ifdef SHARED
- .string "zPLR" ! NUL-terminated augmentation
- ! string.
-#else
- .string "zPL" ! NUL-terminated augmentation
- ! string.
-#endif
- .uleb128 1 ! Code alignment factor.
- .sleb128 -4 ! Data alignment factor.
- .byte 0x11 ! Return address register
- ! column.
-#ifdef SHARED
- .uleb128 7 ! Augmentation value length.
- .byte 0x9b ! Personality: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4
- ! + DW_EH_PE_indirect
- .ualong DW.ref.__gcc_personality_v0-.
- .byte 0x1b ! LSDA Encoding: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4.
- .byte 0x1b ! FDE Encoding: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4.
-#else
- .uleb128 6 ! Augmentation value length.
- .byte 0x0 ! Personality: absolute
- .ualong __gcc_personality_v0
- .byte 0x0 ! LSDA Encoding: absolute
-#endif
- .byte 0x0c ! DW_CFA_def_cfa
- .uleb128 0xf
- .uleb128 0
- .align 4
-.LENDCIE:
-
- .ualong .LENDFDE-.LSTARTFDE ! Length of the FDE.
-.LSTARTFDE:
- .ualong .LSTARTFDE-.LSTARTFRAME ! CIE pointer.
-#ifdef SHARED
- .ualong .LSTARTCODE-. ! PC-relative start address
- ! of the code.
-#else
- .ualong .LSTARTCODE ! Start address of the code.
-#endif
- .ualong .LENDCODE-.LSTARTCODE ! Length of the code.
- .uleb128 4 ! Augmentation size
-#ifdef SHARED
- .ualong .LexceptSTART-.
-#else
- .ualong .LexceptSTART
-#endif
-
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_r8-.LSTARTCODE
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 4
- .byte 0x88 ! DW_CFA_offset r8
- .uleb128 1
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_r9-.Lpush_r8
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 8
- .byte 0x89 ! DW_CFA_offset r9
- .uleb128 2
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_r10-.Lpush_r9
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 12
- .byte 0x8a ! DW_CFA_offset r10
- .uleb128 3
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_r12-.Lpush_r10
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 16
- .byte 0x8c ! DW_CFA_offset r12
- .uleb128 4
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_pr-.Lpush_r12
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 20
- .byte 0x91 ! DW_CFA_offset pr
- .uleb128 5
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lalloc-.Lpush_pr
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 28
- .align 4
-.LENDFDE:
-
-
#ifdef SHARED
.hidden DW.ref.__gcc_personality_v0
.weak DW.ref.__gcc_personality_v0
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S Thu May 10 00:01:38 2012
@@ -33,18 +33,31 @@
.globl __new_sem_wait
.type __new_sem_wait,@function
.align 5
+ cfi_startproc
__new_sem_wait:
.LSTARTCODE:
+#ifdef SHARED
+ cfi_personality(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect,
+ DW.ref.__gcc_personality_v0)
+ cfi_lsda(DW_EH_PE_pcrel | DW_EH_PE_sdata4, .LexceptSTART)
+#else
+ cfi_personality(DW_EH_PE_absptr, __gcc_personality_v0)
+ cfi_lsda(DW_EH_PE_absptr, .LexceptSTART)
+#endif
mov.l r8, @-r15
-.Lpush_r8:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r8, 0)
mov.l r10, @-r15
-.Lpush_r10:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r10, 0)
mov.l r12, @-r15
-.Lpush_r12:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (r12, 0)
sts.l pr, @-r15
-.Lpush_pr:
+ cfi_adjust_cfa_offset (4)
+ cfi_rel_offset (pr, 0)
+
mov r4, r8
-
mov.l @r8, r0
2:
tst r0, r0
@@ -174,15 +187,15 @@
.long _Unwind_Resume
#endif
.LENDCODE:
+ cfi_endproc
.size sem_wait_cleanup,.-sem_wait_cleanup
.section .gcc_except_table,"a",@progbits
.LexceptSTART:
- .byte 0xff ! @LPStart format (omit)
- .byte 0xff ! @TType format (omit)
- .byte 0x01 ! call-site format
- ! DW_EH_PE_uleb128
+ .byte DW_EH_PE_omit ! @LPStart format (omit)
+ .byte DW_EH_PE_omit ! @TType format (omit)
+ .byte DW_EH_PE_uleb128 ! call-site format
.uleb128 .Lcstend-.Lcstbegin
.Lcstbegin:
.uleb128 .LcleanupSTART-.LSTARTCODE
@@ -195,91 +208,6 @@
.uleb128 0
.Lcstend:
-
- .section .eh_frame,"a",@progbits
-.LSTARTFRAME:
- .ualong .LENDCIE-.LSTARTCIE ! Length of the CIE.
-.LSTARTCIE:
- .ualong 0 ! CIE ID.
- .byte 1 ! Version number.
-#ifdef SHARED
- .string "zPLR" ! NUL-terminated augmentation
- ! string.
-#else
- .string "zPL" ! NUL-terminated augmentation
- ! string.
-#endif
- .uleb128 1 ! Code alignment factor.
- .sleb128 -4 ! Data alignment factor.
- .byte 0x11 ! Return address register
- ! column.
-#ifdef SHARED
- .uleb128 7 ! Augmentation value length.
- .byte 0x9b ! Personality: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4
- ! + DW_EH_PE_indirect
- .ualong DW.ref.__gcc_personality_v0-.
- .byte 0x1b ! LSDA Encoding: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4.
- .byte 0x1b ! FDE Encoding: DW_EH_PE_pcrel
- ! + DW_EH_PE_sdata4.
-#else
- .uleb128 6 ! Augmentation value length.
- .byte 0x0 ! Personality: absolute
- .ualong __gcc_personality_v0
- .byte 0x0 ! LSDA Encoding: absolute
-#endif
- .byte 0x0c ! DW_CFA_def_cfa
- .uleb128 0xf
- .uleb128 0
- .align 4
-.LENDCIE:
-
- .ualong .LENDFDE-.LSTARTFDE ! Length of the FDE.
-.LSTARTFDE:
- .ualong .LSTARTFDE-.LSTARTFRAME ! CIE pointer.
-#ifdef SHARED
- .ualong .LSTARTCODE-. ! PC-relative start address
- ! of the code.
-#else
- .ualong .LSTARTCODE ! Start address of the code.
-#endif
- .ualong .LENDCODE-.LSTARTCODE ! Length of the code.
- .uleb128 4 ! Augmentation size
-#ifdef SHARED
- .ualong .LexceptSTART-.
-#else
- .ualong .LexceptSTART
-#endif
-
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_r8-.LSTARTCODE
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 4
- .byte 0x88 ! DW_CFA_offset r8
- .uleb128 1
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_r10-.Lpush_r8
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 8
- .byte 0x8a ! DW_CFA_offset r10
- .uleb128 2
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_r12-.Lpush_r10
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 12
- .byte 0x8c ! DW_CFA_offset r12
- .uleb128 3
- .byte 4 ! DW_CFA_advance_loc4
- .ualong .Lpush_pr-.Lpush_r12
- .byte 14 ! DW_CFA_def_cfa_offset
- .uleb128 16
- .byte 0x91 ! DW_CFA_offset pr
- .uleb128 4
- .align 4
-.LENDFDE:
-
-
#ifdef SHARED
.hidden DW.ref.__gcc_personality_v0
.weak DW.ref.__gcc_personality_v0
Modified: fsf/trunk/libc/nscd/nscd.c
==============================================================================
--- fsf/trunk/libc/nscd/nscd.c (original)
+++ fsf/trunk/libc/nscd/nscd.c Thu May 10 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998-2011, 2012 Free Software Foundation, Inc.
+/* Copyright (c) 1998-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@xxxxxxx>, 1998.
@@ -71,7 +71,20 @@
int do_shutdown;
int disabled_passwd;
int disabled_group;
-int go_background = 1;
+
+typedef enum
+{
+ /* Running in background as daemon. */
+ RUN_DAEMONIZE,
+ /* Running in foreground but otherwise behave like a daemon,
+ i.e., detach from terminal and use syslog. This allows
+ better integration with services like systemd. */
+ RUN_FOREGROUND,
+ /* Run in foreground in debug mode. */
+ RUN_DEBUG
+} run_modes;
+
+static run_modes run_mode = RUN_DAEMONIZE;
static const char *conffile = _PATH_NSCDCONF;
@@ -103,6 +116,8 @@
N_("Read configuration data from NAME") },
{ "debug", 'd', NULL, 0,
N_("Do not fork and display messages on the current tty") },
+ { "foreground", 'F', NULL, 0,
+ N_("Do not fork, but otherwise behave like a daemon") },
{ "nthreads", 't', N_("NUMBER"), 0, N_("Start NUMBER threads") },
{ "shutdown", 'K', NULL, 0, N_("Shut the server down") },
{ "statistics", 'g', NULL, 0, N_("Print current configuration statistics") },
@@ -173,16 +188,20 @@
/* Determine page size. */
pagesize_m1 = getpagesize () - 1;
- /* Behave like a daemon. */
- if (go_background)
+ if (run_mode == RUN_DAEMONIZE || run_mode == RUN_FOREGROUND)
{
int i;
-
- pid_t pid = fork ();
- if (pid == -1)
- error (EXIT_FAILURE, errno, _("cannot fork"));
- if (pid != 0)
- exit (0);
+ pid_t pid;
+
+ /* Behave like a daemon. */
+ if (run_mode == RUN_DAEMONIZE)
+ {
+ pid = fork ();
+ if (pid == -1)
+ error (EXIT_FAILURE, errno, _("cannot fork"));
+ if (pid != 0)
+ exit (0);
+ }
int nullfd = open (_PATH_DEVNULL, O_RDWR);
if (nullfd != -1)
@@ -233,11 +252,14 @@
for (i = min_close_fd; i < getdtablesize (); i++)
close (i);
- pid = fork ();
- if (pid == -1)
- error (EXIT_FAILURE, errno, _("cannot fork"));
- if (pid != 0)
- exit (0);
+ if (run_mode == RUN_DAEMONIZE)
+ {
+ pid = fork ();
+ if (pid == -1)
+ error (EXIT_FAILURE, errno, _("cannot fork"));
+ if (pid != 0)
+ exit (0);
+ }
setsid ();
@@ -259,7 +281,7 @@
signal (SIGTSTP, SIG_IGN);
}
else
- /* In foreground mode we are not paranoid. */
+ /* In debug mode we are not paranoid. */
paranoia = 0;
signal (SIGINT, termination_handler);
@@ -308,7 +330,11 @@
{
case 'd':
++debug_level;
- go_background = 0;
+ run_mode = RUN_DEBUG;
+ break;
+
+ case 'F':
+ run_mode = RUN_FOREGROUND;
break;
case 'f':
Modified: fsf/trunk/libc/stdlib/longlong.h
==============================================================================
--- fsf/trunk/libc/stdlib/longlong.h (original)
+++ fsf/trunk/libc/stdlib/longlong.h Thu May 10 00:01:38 2012
@@ -202,7 +202,8 @@
UDItype __umulsidi3 (USItype, USItype);
#endif
-#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
+#if defined (__arm__) && (defined (__thumb2__) || !defined (__thumb__)) \
+ && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("adds %1, %4, %5\n\tadc %0, %2, %3" \
: "=r" ((USItype) (sh)), \
@@ -219,9 +220,12 @@
"rI" ((USItype) (bh)), \
"r" ((USItype) (al)), \
"rI" ((USItype) (bl)) __CLOBBER_CC)
-#define umul_ppmm(xh, xl, a, b) \
-{register USItype __t0, __t1, __t2; \
- __asm__ ("%@ Inlined umul_ppmm\n" \
+# if defined(__ARM_ARCH_2__) || defined(__ARM_ARCH_2A__) \
+ || defined(__ARM_ARCH_3__)
+# define umul_ppmm(xh, xl, a, b) \
+ do { \
+ register USItype __t0, __t1, __t2; \
+ __asm__ ("%@ Inlined umul_ppmm\n" \
" mov %2, %5, lsr #16\n" \
" mov %0, %6, lsr #16\n" \
" bic %3, %5, %2, lsl #16\n" \
@@ -238,16 +242,50 @@
"=r" ((USItype) (xl)), \
"=&r" (__t0), "=&r" (__t1), "=r" (__t2) \
: "r" ((USItype) (a)), \
- "r" ((USItype) (b)) __CLOBBER_CC );}
-#define UMUL_TIME 20
-#define UDIV_TIME 100
+ "r" ((USItype) (b)) __CLOBBER_CC ); \
+ } while (0)
+# define UMUL_TIME 20
+# else
+# define umul_ppmm(xh, xl, a, b) \
+ do { \
+ /* Generate umull, under compiler control. */ \
+ register UDItype __t0 = (UDItype)(USItype)(a) * (USItype)(b); \
+ (xl) = (USItype)__t0; \
+ (xh) = (USItype)(__t0 >> 32); \
+ } while (0)
+# define UMUL_TIME 3
+# endif
+# define UDIV_TIME 100
#endif /* __arm__ */
#if defined(__arm__)
/* Let gcc decide how best to implement count_leading_zeros. */
#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X))
+#define count_trailing_zeros(COUNT,X) ((COUNT) = __builtin_ctz (X))
#define COUNT_LEADING_ZEROS_0 32
#endif
+
+#if defined (__AVR__)
+
+#if W_TYPE_SIZE == 16
+#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clz (X))
+#define count_trailing_zeros(COUNT,X) ((COUNT) = __builtin_ctz (X))
+#define COUNT_LEADING_ZEROS_0 16
+#endif /* W_TYPE_SIZE == 16 */
+
+#if W_TYPE_SIZE == 32
+#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clzl (X))
+#define count_trailing_zeros(COUNT,X) ((COUNT) = __builtin_ctzl (X))
+#define COUNT_LEADING_ZEROS_0 32
+#endif /* W_TYPE_SIZE == 32 */
+
+#if W_TYPE_SIZE == 64
+#define count_leading_zeros(COUNT,X) ((COUNT) = __builtin_clzll (X))
+#define count_trailing_zeros(COUNT,X) ((COUNT) = __builtin_ctzll (X))
+#define COUNT_LEADING_ZEROS_0 64
+#endif /* W_TYPE_SIZE == 64 */
+
+#endif /* defined (__AVR__) */
#if defined (__CRIS__) && __CRIS_arch_version >= 3
#define count_leading_zeros(COUNT, X) ((COUNT) = __builtin_clz (X))
@@ -430,8 +468,8 @@
: "0" ((UDItype) (n0)), \
"1" ((UDItype) (n1)), \
"rm" ((UDItype) (dv)))
-#define count_leading_zeros(count, x) ((count) = __builtin_clzl (x))
-#define count_trailing_zeros(count, x) ((count) = __builtin_ctzl (x))
+#define count_leading_zeros(count, x) ((count) = __builtin_clzll (x))
+#define count_trailing_zeros(count, x) ((count) = __builtin_ctzll (x))
#define UMUL_TIME 40
#define UDIV_TIME 40
#endif /* x86_64 */
@@ -1367,6 +1405,36 @@
} while (0)
#endif /* __vax__ */
+#ifdef _TMS320C6X
+#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ do \
+ { \
+ UDItype __ll; \
+ __asm__ ("addu .l1 %1, %2, %0" \
+ : "=a" (__ll) : "a" (al), "a" (bl)); \
+ (sl) = (USItype)__ll; \
+ (sh) = ((USItype)(__ll >> 32)) + (ah) + (bh); \
+ } \
+ while (0)
+
+#ifdef _TMS320C6400_PLUS
+#define __umulsidi3(u,v) ((UDItype)(USItype)u*(USItype)v)
+#define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UDItype __x = (UDItype) (USItype) (u) * (USItype) (v); \
+ (w1) = (USItype) (__x >> 32); \
+ (w0) = (USItype) (__x); \
+ } while (0)
+#endif /* _TMS320C6400_PLUS */
+
+#define count_leading_zeros(count, x) ((count) = __builtin_clz (x))
+#ifdef _TMS320C6400
+#define count_trailing_zeros(count, x) ((count) = __builtin_ctz (x))
+#endif
+#define UMUL_TIME 4
+#define UDIV_TIME 40
+#endif /* _TMS320C6X */
+
#if defined (__xtensa__) && W_TYPE_SIZE == 32
/* This code is not Xtensa-configuration-specific, so rely on the compiler
to expand builtin functions depending on what configuration features
Modified: fsf/trunk/libc/string/bits/string2.h
==============================================================================
--- fsf/trunk/libc/string/bits/string2.h (original)
+++ fsf/trunk/libc/string/bits/string2.h Thu May 10 00:01:38 2012
@@ -1014,7 +1014,7 @@
? ((__builtin_constant_p (s) && __string2_1bptr_p (s)) \
? __builtin_strspn (s, accept) \
: ((__a0 = ((const char *) (accept))[0], __a0 == '\0') \
- ? ((void) (s), 0) \
+ ? ((void) (s), (size_t) 0) \
: ((__a1 = ((const char *) (accept))[1], __a1 == '\0') \
? __strspn_c1 (s, __a0) \
: ((__a2 = ((const char *) (accept))[2], __a2 == '\0') \
@@ -1029,7 +1029,7 @@
({ char __a0, __a1, __a2; \
(__builtin_constant_p (accept) && __string2_1bptr_p (accept) \
? ((__a0 = ((const char *) (accept))[0], __a0 == '\0') \
- ? ((void) (s), 0) \
+ ? ((void) (s), (size_t) 0) \
: ((__a1 = ((const char *) (accept))[1], __a1 == '\0') \
? __strspn_c1 (s, __a0) \
: ((__a2 = ((const char *) (accept))[2], __a2 == '\0') \
Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h Thu May 10 00:01:38 2012
@@ -79,7 +79,11 @@
__NTH (lrintf (float __x))
{
long int __res;
- __asm ("cvtss2si %1, %0" : "=r" (__res) : "xm" (__x));
+ /* Mark as volatile since the result is dependend on the state of
+ the SSE control register (the rounding mode). Otherwise GCC might
+ remove these assembler instructions since it does not know about
+ the rounding mode change and cannot currently be told. */
+ __asm __volatile__ ("cvtss2si %1, %0" : "=r" (__res) : "xm" (__x));
return __res;
}
# endif
@@ -88,7 +92,11 @@
__NTH (lrint (double __x))
{
long int __res;
- __asm ("cvtsd2si %1, %0" : "=r" (__res) : "xm" (__x));
+ /* Mark as volatile since the result is dependend on the state of
+ the SSE control register (the rounding mode). Otherwise GCC might
+ remove these assembler instructions since it does not know about
+ the rounding mode change and cannot currently be told. */
+ __asm __volatile__ ("cvtsd2si %1, %0" : "=r" (__res) : "xm" (__x));
return __res;
}
# endif
@@ -97,14 +105,22 @@
__NTH (llrintf (float __x))
{
long long int __res;
- __asm ("cvtss2si %1, %0" : "=r" (__res) : "xm" (__x));
+ /* Mark as volatile since the result is dependend on the state of
+ the SSE control register (the rounding mode). Otherwise GCC might
+ remove these assembler instructions since it does not know about
+ the rounding mode change and cannot currently be told. */
+ __asm __volatile__ ("cvtss2si %1, %0" : "=r" (__res) : "xm" (__x));
return __res;
}
__MATH_INLINE long long int
__NTH (llrint (double __x))
{
long long int __res;
- __asm ("cvtsd2si %1, %0" : "=r" (__res) : "xm" (__x));
+ /* Mark as volatile since the result is dependend on the state of
+ the SSE control register (the rounding mode). Otherwise GCC might
+ remove these assembler instructions since it does not know about
+ the rounding mode change and cannot currently be told. */
+ __asm __volatile__ ("cvtsd2si %1, %0" : "=r" (__res) : "xm" (__x));
return __res;
}
# endif
@@ -176,14 +192,22 @@
__NTH (rint (double __x))
{
double __res;
- __asm ("roundsd $4, %1, %0" : "=x" (__res) : "xm" (__x));
+ /* Mark as volatile since the result is dependend on the state of
+ the SSE control register (the rounding mode). Otherwise GCC might
+ remove these assembler instructions since it does not know about
+ the rounding mode change and cannot currently be told. */
+ __asm __volatile__ ("roundsd $4, %1, %0" : "=x" (__res) : "xm" (__x));
return __res;
}
__MATH_INLINE float
__NTH (rintf (float __x))
{
float __res;
- __asm ("roundss $4, %1, %0" : "=x" (__res) : "xm" (__x));
+ /* Mark as volatile since the result is dependend on the state of
+ the SSE control register (the rounding mode). Otherwise GCC might
+ remove these assembler instructions since it does not know about
+ the rounding mode change and cannot currently be told. */
+ __asm __volatile__ ("roundss $4, %1, %0" : "=x" (__res) : "xm" (__x));
return __res;
}
@@ -193,14 +217,22 @@
__NTH (nearbyint (double __x))
{
double __res;
- __asm ("roundsd $0xc, %1, %0" : "=x" (__res) : "xm" (__x));
+ /* Mark as volatile since the result is dependend on the state of
+ the SSE control register (the rounding mode). Otherwise GCC might
+ remove these assembler instructions since it does not know about
+ the rounding mode change and cannot currently be told. */
+ __asm __volatile__ ("roundsd $0xc, %1, %0" : "=x" (__res) : "xm" (__x));
return __res;
}
__MATH_INLINE float
__NTH (nearbyintf (float __x))
{
float __res;
- __asm ("roundss $0xc, %1, %0" : "=x" (__res) : "xm" (__x));
+ /* Mark as volatile since the result is dependend on the state of
+ the SSE control register (the rounding mode). Otherwise GCC might
+ remove these assembler instructions since it does not know about
+ the rounding mode change and cannot currently be told. */
+ __asm __volatile__ ("roundss $0xc, %1, %0" : "=x" (__res) : "xm" (__x));
return __res;
}
# endif
Modified: fsf/trunk/libc/time/tzset.c
==============================================================================
--- fsf/trunk/libc/time/tzset.c (original)
+++ fsf/trunk/libc/time/tzset.c Thu May 10 00:01:38 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2002,2003,2004,2007,2009 Free Software Foundation, Inc.
+/* Copyright (C) 1991-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
@@ -333,18 +333,24 @@
}
else if (*tz == '\0')
{
- /* United States Federal Law, the equivalent of "M4.1.0,M10.5.0". */
+ /* Daylight time rules in the U.S. are defined in the
+ U.S. Code, Title 15, Chapter 6, Subchapter IX - Standard
+ Time. These dates were established by Congress in the
+ Energy Policy Act of 2005 [Pub. L. no. 109-58, 119 Stat 594
+ (2005)].
+ Below is the equivalent of "M3.2.0,M11.1.0" [/2 not needed
+ since 2:00AM is the default]. */
tzr->type = M;
if (tzr == &tz_rules[0])
{
- tzr->m = 4;
- tzr->n = 1;
+ tzr->m = 3;
+ tzr->n = 2;
tzr->d = 0;
}
else
{
- tzr->m = 10;
- tzr->n = 5;
+ tzr->m = 11;
+ tzr->n = 1;
tzr->d = 0;
}
}
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits