aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--nptl/ChangeLog11
-rw-r--r--nptl/Makefile1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h7
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h6
-rw-r--r--sysdeps/unix/sysv/linux/sigtimedwait.c1
-rw-r--r--sysdeps/unix/sysv/linux/sigwait.c1
-rw-r--r--sysdeps/unix/sysv/linux/sigwaitinfo.c1
-rw-r--r--sysdeps/unix/sysv/linux/sleep.c3
10 files changed, 43 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d979bd6a81..a11bb66bcd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2003-07-11 Jakub Jelinek <jakub@redhat.com>
+ * sysdeps/unix/sysv/linux/sigwait.c: Include string.h.
+ * sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
+ * sysdeps/unix/sysv/linux/sigtimedwait.c: Likewise.
+ * sysdeps/unix/sysv/linux/sleep.c (__sleep): Cast value to unsigned
+ int before assigning to max to avoid warnings.
+
+2003-07-11 Jakub Jelinek <jakub@redhat.com>
+
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket): Add
cfi directives.
* sysdeps/unix/sysv/linux/s390/s390-32/socket.S (__socket): Likewise.
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 93540dfa66..f00ba09057 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,14 @@
+2003-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile (CFLAGS-pthread_once.c): Add -fexceptions
+ -fasynchronous-unwind-tables.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
+ (PSEUDO): Add cfi directives.
+ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO):
+ Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
+ Likewise.
+
2003-07-08 Jakub Jelinek <jakub@redhat.com>
* pthreadP.h (__pthread_unwind_next, __pthread_register_cancel,
diff --git a/nptl/Makefile b/nptl/Makefile
index a261efbb6d..b562e6618c 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -160,6 +160,7 @@ CFLAGS-forward.c = -fexceptions
CFLAGS-pthread_testcancel.c = -fexceptions
CFLAGS-pthread_join.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-pthread_timedjoin.c = -fexceptions -fasynchronous-unwind-tables
+CFLAGS-pthread_once.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-pthread_cond_wait.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-pthread_cond_timedwait.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-sem_wait.c = -fexceptions -fasynchronous-unwind-tables
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
index 7c669bfb3e..d39425e0f4 100644
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
@@ -30,14 +30,17 @@
# define PSEUDO(name, syscall_name, args) \
.section ".text"; \
ENTRY (name) \
+ cfi_startproc; \
SINGLE_THREAD_P; \
bne- .Lpseudo_cancel; \
DO_CALL (SYS_ify (syscall_name)); \
PSEUDO_RET; \
.Lpseudo_cancel: \
stwu 1,-48(1); \
+ cfi_adjust_cfa_offset (48); \
mflr 9; \
stw 9,52(1); \
+ cfi_offset (lr, 4); \
DOCARGS_##args; /* save syscall args around CENABLE. */ \
CENABLE; \
stw 3,16(1); /* store CENABLE return value (MASK). */ \
@@ -53,7 +56,8 @@
lwz 3,8(1); \
mtlr 4; \
mtcr 0; \
- addi 1,1,48;
+ addi 1,1,48; \
+ cfi_endproc;
# define DOCARGS_0
# define UNDOCARGS_0
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
index 80671df08a..1f7cff8c41 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
@@ -29,10 +29,16 @@
# define PSEUDO(name, syscall_name, args) \
.text; \
L(pseudo_cancel): \
+ cfi_startproc; \
STM_##args \
stm %r12,%r15,48(%r15); \
+ cfi_offset (%r15, -36); \
+ cfi_offset (%r14, -40); \
+ cfi_offset (%r13, -44); \
+ cfi_offset (%r12, -48); \
lr %r14,%r15; \
ahi %r15,-96; \
+ cfi_adjust_cfa_offset (96); \
st %r14,0(%r15); \
basr %r13,0; \
0: l %r1,1f-0b(%r13); \
@@ -46,6 +52,7 @@ L(pseudo_cancel): \
bas %r14,0(%r1,%r13); \
lr %r2,%r12; \
lm %r12,%r15,48+96(%r15); \
+ cfi_endproc; \
j L(pseudo_check); \
1: .long CENABLE-0b; \
2: .long CDISABLE-0b; \
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
index f3722a0d8f..4d53311f9d 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
@@ -29,10 +29,15 @@
# define PSEUDO(name, syscall_name, args) \
.text; \
L(pseudo_cancel): \
+ cfi_startproc; \
STM_##args \
stmg %r13,%r15,104(%r15); \
+ cfi_offset (%r15,-40); \
+ cfi_offset (%r14,-48); \
+ cfi_offset (%r13,-56); \
lgr %r14,%r15; \
aghi %r15,-160; \
+ cfi_adjust_cfa_offset (160); \
stg %r14,0(%r15); \
brasl %r14,CENABLE; \
lgr %r0,%r2; \
@@ -43,6 +48,7 @@ L(pseudo_cancel): \
brasl %r14,CDISABLE; \
lgr %r2,%r13; \
lmg %r13,%r15,104+160(%r15); \
+ cfi_endproc; \
j L(pseudo_check); \
ENTRY(name) \
SINGLE_THREAD_P \
diff --git a/sysdeps/unix/sysv/linux/sigtimedwait.c b/sysdeps/unix/sysv/linux/sigtimedwait.c
index a016b71ec7..34e986a6af 100644
--- a/sysdeps/unix/sysv/linux/sigtimedwait.c
+++ b/sysdeps/unix/sysv/linux/sigtimedwait.c
@@ -18,6 +18,7 @@
#include <errno.h>
#include <signal.h>
+#include <string.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
diff --git a/sysdeps/unix/sysv/linux/sigwait.c b/sysdeps/unix/sysv/linux/sigwait.c
index 49371cfdfd..e92061d215 100644
--- a/sysdeps/unix/sysv/linux/sigwait.c
+++ b/sysdeps/unix/sysv/linux/sigwait.c
@@ -20,6 +20,7 @@
#include <signal.h>
#define __need_NULL
#include <stddef.h>
+#include <string.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
diff --git a/sysdeps/unix/sysv/linux/sigwaitinfo.c b/sysdeps/unix/sysv/linux/sigwaitinfo.c
index 56cf0c96bb..73c20d1115 100644
--- a/sysdeps/unix/sysv/linux/sigwaitinfo.c
+++ b/sysdeps/unix/sysv/linux/sigwaitinfo.c
@@ -20,6 +20,7 @@
#include <signal.h>
#define __need_NULL
#include <stddef.h>
+#include <string.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
diff --git a/sysdeps/unix/sysv/linux/sleep.c b/sysdeps/unix/sysv/linux/sleep.c
index ade9ff4116..d94e4f62fd 100644
--- a/sysdeps/unix/sysv/linux/sleep.c
+++ b/sysdeps/unix/sysv/linux/sleep.c
@@ -40,7 +40,8 @@ cl (void *arg)
unsigned int
__sleep (unsigned int seconds)
{
- const unsigned int max = ((unsigned long int) (~((time_t) 0))) >> 1;
+ const unsigned int max
+ = (unsigned int) (((unsigned long int) (~((time_t) 0))) >> 1);
struct timespec ts;
sigset_t set, oset;
unsigned int result;