* misc/syslog.c (openlog_internal): Fix __have_sock_cloexec
authorUlrich Drepper <drepper@redhat.com>
Wed, 22 Oct 2008 21:45:13 +0000 (21:45 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 22 Oct 2008 21:45:13 +0000 (21:45 +0000)
initialization.

ChangeLog
misc/syslog.c
nptl/ChangeLog
nptl/sysdeps/s390/tls.h

index 178c921..b850b08 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-22  Dmitry V. Levin  <ldv@altlinux.org>
+
+       * misc/syslog.c (openlog_internal): Fix __have_sock_cloexec
+       initialization.
+
 2008-10-17  Jakub Jelinek  <jakub@redhat.com>
 
        * elf/Makefile: Add rules to build and run tst-tls17.
index 8f84faf..90cd3bf 100644 (file)
@@ -358,10 +358,11 @@ openlog_internal(const char *ident, int logstat, int logfac)
 # ifndef __ASSUME_SOCK_CLOEXEC
                                        if (__have_sock_cloexec == 0)
                                                __have_sock_cloexec
-                                                 = (LogFile != -1
-                                                    || errno != EINVAL);
+                                                 = ((LogFile != -1
+                                                     || errno != EINVAL)
+                                                    ? 1 : -1);
                                }
-#endif
+# endif
 #endif
 #ifndef __ASSUME_SOCK_CLOEXEC
 # ifdef SOCK_CLOEXEC
index 24926cf..733ff03 100644 (file)
@@ -1,3 +1,8 @@
+2008-10-06  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * sysdeps/s390/tls.h (THREAD_SET_STACK_GUARD): Add empty inline
+       assembly with a clobber list for access registers a0 and a1.
+
 2008-09-11  Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
        * sysdeps/unix/sysv/linux/fork.c (__libc_fork): Add memory barrier
index 3be459e..2b38ed4 100644 (file)
@@ -161,7 +161,12 @@ typedef struct
 
 /* Set the stack guard field in TCB head.  */
 #define THREAD_SET_STACK_GUARD(value) \
-  THREAD_SETMEM (THREAD_SELF, header.stack_guard, value)
+  do                                                                         \
+   {                                                                         \
+     __asm __volatile ("" : : : "a0", "a1");                                 \
+     THREAD_SETMEM (THREAD_SELF, header.stack_guard, value);                 \
+   }                                                                         \
+  while (0)
 #define THREAD_COPY_STACK_GUARD(descr) \
   ((descr)->header.stack_guard                                               \
    = THREAD_GETMEM (THREAD_SELF, header.stack_guard))