summaryrefslogtreecommitdiff
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)
* 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))