[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...



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