summaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix/sysv/linux/s390
diff options
context:
space:
mode:
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/s390')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/Versions5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/bits/semaphore.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/fork.c2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/jmp-unwind.c2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c63
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/pthread_once.c2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S2
14 files changed, 80 insertions, 12 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/Versions b/nptl/sysdeps/unix/sysv/linux/s390/Versions
new file mode 100644
index 0000000000..58632f467a
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/s390/Versions
@@ -0,0 +1,5 @@
+libpthread {
+ GLIBC_2.19 {
+ longjmp; siglongjmp;
+ }
+}
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h b/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
index 75785d9f0b..a361db6edb 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/bits/semaphore.h b/nptl/sysdeps/unix/sysv/linux/s390/bits/semaphore.h
index d59888f510..674d3da727 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/bits/semaphore.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/bits/semaphore.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/fork.c b/nptl/sysdeps/unix/sysv/linux/s390/fork.c
index 262f9638d1..20fe4c9eff 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/fork.c
+++ b/nptl/sysdeps/unix/sysv/linux/s390/fork.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/jmp-unwind.c b/nptl/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
index f543c43e80..f35eab5ac1 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
+++ b/nptl/sysdeps/unix/sysv/linux/s390/jmp-unwind.c
@@ -1,5 +1,5 @@
/* Clean up stack frames unwound by longjmp. Linux/s390 version.
- Copyright (C) 2003-2013 Free Software Foundation, Inc.
+ Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
index 3dab05e057..80dc90543b 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c b/nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
new file mode 100644
index 0000000000..801432cccb
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
@@ -0,0 +1,63 @@
+/* Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>.
+
+ This is a copy of pthread/pt-longjmp.c made for extending the
+ jmpbuf structure on System z. */
+
+#include <setjmp.h>
+#include <stdlib.h>
+#include <bits/wordsize.h>
+#include "pthreadP.h"
+#include <shlib-compat.h>
+#if defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_19)
+
+/* The __v1 version prototypes are declared in v1-setjmp.h which
+ cannot be included together with setjmp.h. So we put the
+ prototypes here manually. */
+extern void __v1__libc_siglongjmp (sigjmp_buf env, int val)
+ __attribute__ ((noreturn));
+extern void __v1__libc_longjmp (sigjmp_buf env, int val)
+ __attribute__ ((noreturn));
+
+void __v1_siglongjmp (sigjmp_buf env, int val)
+{
+ __v1__libc_siglongjmp (env, val);
+}
+
+void __v1_longjmp (jmp_buf env, int val)
+{
+ __v1__libc_longjmp (env, val);
+}
+
+compat_symbol (libpthread, __v1_longjmp, longjmp, GLIBC_2_0);
+compat_symbol (libpthread, __v1_siglongjmp, siglongjmp, GLIBC_2_0);
+#endif /* defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_19)) */
+
+void
+__v2_longjmp (jmp_buf env, int val)
+{
+ __libc_longjmp (env, val);
+}
+
+void
+__v2_siglongjmp (jmp_buf env, int val)
+{
+ __libc_siglongjmp (env, val);
+}
+
+versioned_symbol (libpthread, __v2_longjmp, longjmp, GLIBC_2_19);
+versioned_symbol (libpthread, __v2_siglongjmp, siglongjmp, GLIBC_2_19);
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/pthread_once.c b/nptl/sysdeps/unix/sysv/linux/s390/pthread_once.c
index ed9bbb2268..ce02206c17 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/pthread_once.c
+++ b/nptl/sysdeps/unix/sysv/linux/s390/pthread_once.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S
index 9cab910998..00ed99292f 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S
+++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/pt-vfork.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
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 03e3f3e74c..0eeefca5cb 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
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
index e7b3a8da72..adf66bebf7 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
+++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S
index 99d1a6284f..97f82f00f2 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S
+++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/pt-vfork.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Martin Schwidefsky <schwidefsky@de.ibm.com>, 2003.
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 0e4b7bf944..b3560c8e4e 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
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2003-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
index 729d7da2f4..4f7a0b53ca 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
+++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2013 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.