diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ChangeLog | 2 | ||||
-rw-r--r-- | nptl/Makefile | 5 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/Makefile | 3 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/unwindbuf.sym | 7 |
4 files changed, 15 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 11071d68c3..a739fe1db7 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -2,6 +2,8 @@ * sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once): Use correct cleanup handler registration. Add unwind info. + * sysdeps/unix/sysv/linux/unwindbuf.sym: New file. + * sysdeps/unix/sysv/linux/Makefile: Add rule to build unwindbuf.h. * tst-once3.c: Add cleanup handler and check it is called. * tst-once4.c: Likewise. * tst-oncex3.c: New file. diff --git a/nptl/Makefile b/nptl/Makefile index 09a7ecc1b2..a261efbb6d 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -244,7 +244,8 @@ tests += tst-cancelx2 tst-cancelx3 tst-cancelx4 tst-cancelx5 \ tst-cancelx6 tst-cancelx7 tst-cancelx8 tst-cancelx9 tst-cancelx10 \ tst-cancelx11 tst-cancelx12 tst-cancelx13 tst-cancelx14 tst-cancelx15\ tst-cancelx16 tst-cancelx17 tst-cancelx18 \ - tst-cleanupx0 tst-cleanupx1 tst-cleanupx2 tst-cleanupx3 + tst-cleanupx0 tst-cleanupx1 tst-cleanupx2 tst-cleanupx3 \ + tst-oncex3 tst-oncex4 endif ifeq ($(build-shared),yes) tests += tst-atfork2 tst-tls3 @@ -369,6 +370,8 @@ CFLAGS-tst-cleanupx0.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-tst-cleanupx1.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-tst-cleanupx2.c += -fexceptions CFLAGS-tst-cleanupx3.c += -fexceptions +CFLAGS-tst-oncex3.c += -fexceptions +CFLAGS-tst-oncex4.c += -fexceptions tst-cancel7-ARGS = --command "$(built-program-cmd)" tst-umask1-ARGS = $(objpfx)tst-umask1.temp diff --git a/nptl/sysdeps/unix/sysv/linux/Makefile b/nptl/sysdeps/unix/sysv/linux/Makefile index 510232c9c6..c2988bc902 100644 --- a/nptl/sysdeps/unix/sysv/linux/Makefile +++ b/nptl/sysdeps/unix/sysv/linux/Makefile @@ -23,7 +23,8 @@ sysdep_routines += register-atfork unregister-atfork libc_pthread_init \ libpthread-sysdep_routines += pt-fork pthread_mutex_cond_lock -gen-as-const-headers += lowlevelcond.sym lowlevelrwlock.sym lowlevelbarrier.sym +gen-as-const-headers += lowlevelcond.sym lowlevelrwlock.sym \ + lowlevelbarrier.sym unwindbuf.sym endif ifeq ($(subdir),posix) diff --git a/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym b/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym new file mode 100644 index 0000000000..8044b4078c --- /dev/null +++ b/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym @@ -0,0 +1,7 @@ +#include <pthread.h> +#include <stddef.h> + +-- + +UNWINDBUFSIZE sizeof (__pthread_unwind_buf_t) +UWJMPBUF offsetof (__pthread_unwind_buf_t, __cancel_jmp_buf) |