about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2008-10-22 21:45:13 +0000
committerUlrich Drepper <drepper@redhat.com>2008-10-22 21:45:13 +0000
commit208bc8367015221e38ffaef9fccbafd68e3fff48 (patch)
tree4ffce2fd5fd509f3f5bbeb93da24c6a62d751a00
parent60a23f5a729ce088fb34c42d2c536e0ef6e7fb07 (diff)
downloadglibc-208bc8367015221e38ffaef9fccbafd68e3fff48.tar.gz
glibc-208bc8367015221e38ffaef9fccbafd68e3fff48.tar.xz
glibc-208bc8367015221e38ffaef9fccbafd68e3fff48.zip
* misc/syslog.c (openlog_internal): Fix __have_sock_cloexec
	initialization.
-rw-r--r--ChangeLog5
-rw-r--r--misc/syslog.c7
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/s390/tls.h7
4 files changed, 20 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 178c921c74..b850b08d5d 100644
--- 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.
diff --git a/misc/syslog.c b/misc/syslog.c
index 8f84faf75c..90cd3bfa14 100644
--- a/misc/syslog.c
+++ b/misc/syslog.c
@@ -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
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 24926cf40a..733ff038d2 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -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
diff --git a/nptl/sysdeps/s390/tls.h b/nptl/sysdeps/s390/tls.h
index 3be459e32c..2b38ed4e7d 100644
--- a/nptl/sysdeps/s390/tls.h
+++ b/nptl/sysdeps/s390/tls.h
@@ -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))