forked from pool/glibc
Andreas Schwab
d9bb8764aa
- ibm93x-redundant-shift-si.patch: Avoid redundant shift character in iconv output at block boundary (bnc#886416, BZ #17197) - s390-revert-abi-change.patch: revert back to pre-2.19 layout of jmp_buf and ucontext_t on s390 (bnc#887228) OBS-URL: https://build.opensuse.org/request/show/242722 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=376
898 lines
31 KiB
Diff
898 lines
31 KiB
Diff
From a779f6e6d899cd601afc19ce19415659bbf646c9 Mon Sep 17 00:00:00 2001
|
|
From: Andreas Schwab <schwab@suse.de>
|
|
Date: Thu, 24 Jul 2014 11:30:20 +0200
|
|
Subject: [PATCH] Revert "S/390: Make jmp_buf extendible" and "S/390: Make
|
|
ucontext_t extendible"
|
|
|
|
---
|
|
nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c | 30 ++----
|
|
sysdeps/s390/Makefile | 9 --
|
|
sysdeps/s390/Versions | 4 -
|
|
sysdeps/s390/__longjmp.c | 10 --
|
|
sysdeps/s390/bits/setjmp.h | 4 -
|
|
sysdeps/s390/longjmp.c | 38 +++----
|
|
sysdeps/s390/s390-32/__longjmp-common.c | 2 +-
|
|
sysdeps/s390/s390-32/setjmp-common.S | 4 -
|
|
sysdeps/s390/s390-64/__longjmp-common.c | 2 +-
|
|
sysdeps/s390/s390-64/setjmp-common.S | 4 -
|
|
sysdeps/s390/setjmp.S | 20 +---
|
|
sysdeps/s390/sigjmp.c | 2 +-
|
|
sysdeps/s390/v1-longjmp.c | 57 -----------
|
|
sysdeps/s390/v1-setjmp.h | 111 ---------------------
|
|
sysdeps/s390/v1-sigjmp.c | 44 --------
|
|
sysdeps/unix/sysv/linux/s390/Makefile | 6 --
|
|
sysdeps/unix/sysv/linux/s390/getcontext.S | 6 +-
|
|
sysdeps/unix/sysv/linux/s390/longjmp_chk.c | 19 ++--
|
|
.../unix/sysv/linux/s390/s390-32/____longjmp_chk.c | 16 ---
|
|
.../sysv/linux/s390/s390-32/getcontext-common.S | 37 -------
|
|
sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S | 10 +-
|
|
sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S | 13 +--
|
|
.../unix/sysv/linux/s390/s390-32/ucontext_i.sym | 1 -
|
|
.../unix/sysv/linux/s390/s390-64/____longjmp_chk.c | 17 ----
|
|
.../sysv/linux/s390/s390-64/getcontext-common.S | 4 -
|
|
sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S | 3 -
|
|
sysdeps/unix/sysv/linux/s390/sys/ucontext.h | 13 ---
|
|
sysdeps/unix/sysv/linux/s390/v1-longjmp_chk.c | 35 -------
|
|
28 files changed, 46 insertions(+), 475 deletions(-)
|
|
delete mode 100644 sysdeps/s390/Makefile
|
|
delete mode 100644 sysdeps/s390/v1-longjmp.c
|
|
delete mode 100644 sysdeps/s390/v1-setjmp.h
|
|
delete mode 100644 sysdeps/s390/v1-sigjmp.c
|
|
delete mode 100644 sysdeps/unix/sysv/linux/s390/v1-longjmp_chk.c
|
|
|
|
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c b/nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
|
|
index 801432c..6622752 100644
|
|
--- a/nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
|
|
+++ b/nptl/sysdeps/unix/sysv/linux/s390/pt-longjmp.c
|
|
@@ -23,29 +23,6 @@
|
|
#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)
|
|
@@ -61,3 +38,10 @@ __v2_siglongjmp (jmp_buf env, int val)
|
|
|
|
versioned_symbol (libpthread, __v2_longjmp, longjmp, GLIBC_2_19);
|
|
versioned_symbol (libpthread, __v2_siglongjmp, siglongjmp, GLIBC_2_19);
|
|
+
|
|
+#if defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_19)
|
|
+strong_alias (__v2_longjmp, __v1_longjmp);
|
|
+strong_alias (__v2_siglongjmp, __v1_siglongjmp);
|
|
+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)) */
|
|
diff --git a/sysdeps/s390/Makefile b/sysdeps/s390/Makefile
|
|
deleted file mode 100644
|
|
index 42978dc..0000000
|
|
--- a/sysdeps/s390/Makefile
|
|
+++ /dev/null
|
|
@@ -1,9 +0,0 @@
|
|
-ifeq ($(subdir),setjmp)
|
|
-ifeq (yes,$(build-shared))
|
|
-sysdep_routines += v1-longjmp v1-sigjmp
|
|
-endif
|
|
-endif
|
|
-
|
|
-ifeq ($(subdir),csu)
|
|
-gen-as-const-headers += rtld-global-offsets.sym
|
|
-endif
|
|
diff --git a/sysdeps/s390/Versions b/sysdeps/s390/Versions
|
|
index 156abc7..e3cdaa4 100644
|
|
--- a/sysdeps/s390/Versions
|
|
+++ b/sysdeps/s390/Versions
|
|
@@ -3,10 +3,6 @@ libc {
|
|
setjmp; _setjmp; __setjmp; __sigsetjmp;
|
|
longjmp; _longjmp; siglongjmp;
|
|
}
|
|
- GLIBC_PRIVATE {
|
|
- __v1__libc_longjmp; __v1__libc_siglongjmp;
|
|
- __v2__libc_longjmp; __v2__libc_siglongjmp;
|
|
- }
|
|
}
|
|
|
|
ld {
|
|
diff --git a/sysdeps/s390/__longjmp.c b/sysdeps/s390/__longjmp.c
|
|
index e4acd31..fd14abb 100644
|
|
--- a/sysdeps/s390/__longjmp.c
|
|
+++ b/sysdeps/s390/__longjmp.c
|
|
@@ -18,14 +18,4 @@
|
|
#include <libc-symbols.h>
|
|
#include <shlib-compat.h>
|
|
|
|
-#define __longjmp __v2__longjmp
|
|
#include "__longjmp-common.c"
|
|
-#undef __longjmp
|
|
-strong_alias (__v2__longjmp, __longjmp)
|
|
-
|
|
-#if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19)
|
|
-# undef __longjmp
|
|
-# define __V1_JMPBUF
|
|
-# define __longjmp __v1__longjmp
|
|
-# include "__longjmp-common.c"
|
|
-#endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19) */
|
|
diff --git a/sysdeps/s390/bits/setjmp.h b/sysdeps/s390/bits/setjmp.h
|
|
index 25eaf10..0071a9d 100644
|
|
--- a/sysdeps/s390/bits/setjmp.h
|
|
+++ b/sysdeps/s390/bits/setjmp.h
|
|
@@ -40,10 +40,6 @@ typedef struct __s390_jmp_buf
|
|
/* We save fpu registers 4 and 6. */
|
|
long __fpregs[4];
|
|
# endif
|
|
-#ifndef __V1_JMPBUF
|
|
- unsigned long __flags;
|
|
- char __reserved[128];
|
|
-#endif
|
|
} __jmp_buf[1];
|
|
|
|
#endif
|
|
diff --git a/sysdeps/s390/longjmp.c b/sysdeps/s390/longjmp.c
|
|
index c758d14..dda9ae6 100644
|
|
--- a/sysdeps/s390/longjmp.c
|
|
+++ b/sysdeps/s390/longjmp.c
|
|
@@ -23,17 +23,11 @@
|
|
#include <setjmp.h>
|
|
#include <signal.h>
|
|
|
|
-extern void __v2__longjmp (__jmp_buf __env, int __val)
|
|
- __attribute__ ((__noreturn__));
|
|
-extern void __v2__libc_longjmp (sigjmp_buf env, int val)
|
|
- __attribute__ ((__noreturn__));
|
|
-libc_hidden_proto (__v2__libc_longjmp)
|
|
-
|
|
/* Set the signal mask to the one specified in ENV, and jump
|
|
to the position specified in ENV, causing the setjmp
|
|
call there to return VAL, or 1 if VAL is 0. */
|
|
void
|
|
-__v2__libc_siglongjmp (sigjmp_buf env, int val)
|
|
+__libc_siglongjmp (sigjmp_buf env, int val)
|
|
{
|
|
/* Perform any cleanups needed by the frames being unwound. */
|
|
_longjmp_unwind (env, val);
|
|
@@ -44,21 +38,27 @@ __v2__libc_siglongjmp (sigjmp_buf env, int val)
|
|
(sigset_t *) NULL);
|
|
|
|
/* Call the machine-dependent function to restore machine state. */
|
|
- __v2__longjmp (env[0].__jmpbuf, val ?: 1);
|
|
+ __longjmp (env[0].__jmpbuf, val ?: 1);
|
|
}
|
|
|
|
-#ifndef __v2__longjmp
|
|
-strong_alias (__v2__libc_siglongjmp, __v2__libc_longjmp)
|
|
-libc_hidden_def (__v2__libc_longjmp)
|
|
-weak_alias (__v2__libc_siglongjmp, __v2_longjmp)
|
|
-weak_alias (__v2__libc_siglongjmp, __v2longjmp)
|
|
-weak_alias (__v2__libc_siglongjmp, __v2siglongjmp)
|
|
-
|
|
-/* These will be used by libpthread only. */
|
|
-versioned_symbol (libc, __v2__libc_longjmp, __libc_longjmp, GLIBC_PRIVATE);
|
|
-versioned_symbol (libc, __v2__libc_siglongjmp, __libc_siglongjmp, GLIBC_PRIVATE);
|
|
+#ifndef __longjmp
|
|
+strong_alias (__libc_siglongjmp, __libc_longjmp)
|
|
+libc_hidden_def (__libc_longjmp)
|
|
+weak_alias (__libc_siglongjmp, __v2_longjmp)
|
|
+weak_alias (__libc_siglongjmp, __v2longjmp)
|
|
+weak_alias (__libc_siglongjmp, __v2siglongjmp)
|
|
|
|
versioned_symbol (libc, __v2_longjmp, _longjmp, GLIBC_2_19);
|
|
versioned_symbol (libc, __v2longjmp, longjmp, GLIBC_2_19);
|
|
versioned_symbol (libc, __v2siglongjmp, siglongjmp, GLIBC_2_19);
|
|
-#endif /* ifndef __v2__longjmp */
|
|
+
|
|
+# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19)
|
|
+weak_alias (__libc_siglongjmp, __v1_longjmp)
|
|
+weak_alias (__libc_siglongjmp, __v1longjmp)
|
|
+weak_alias (__libc_siglongjmp, __v1siglongjmp)
|
|
+
|
|
+compat_symbol (libc, __v1_longjmp, _longjmp, GLIBC_2_0);
|
|
+compat_symbol (libc, __v1longjmp, longjmp, GLIBC_2_0);
|
|
+compat_symbol (libc, __v1siglongjmp, siglongjmp, GLIBC_2_0);
|
|
+# endif /* SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19) */
|
|
+#endif /* ifndef __longjmp */
|
|
diff --git a/sysdeps/s390/s390-32/__longjmp-common.c b/sysdeps/s390/s390-32/__longjmp-common.c
|
|
index f78ef65..5d46e21 100644
|
|
--- a/sysdeps/s390/s390-32/__longjmp-common.c
|
|
+++ b/sysdeps/s390/s390-32/__longjmp-common.c
|
|
@@ -25,7 +25,7 @@
|
|
|
|
/* Jump to the position specified by ENV, causing the
|
|
setjmp call there to return VAL, or 1 if VAL is 0. */
|
|
-attribute_hidden void
|
|
+void
|
|
__longjmp (__jmp_buf env, int val)
|
|
{
|
|
#ifdef PTR_DEMANGLE
|
|
diff --git a/sysdeps/s390/s390-32/setjmp-common.S b/sysdeps/s390/s390-32/setjmp-common.S
|
|
index d7bb720..cee8181 100644
|
|
--- a/sysdeps/s390/s390-32/setjmp-common.S
|
|
+++ b/sysdeps/s390/s390-32/setjmp-common.S
|
|
@@ -55,10 +55,6 @@ ENTRY(__sigsetjmp)
|
|
#else
|
|
stm %r6,%r15,0(%r2) /* store registers in jmp_buf */
|
|
#endif
|
|
-#ifndef __V1_JMPBUF
|
|
- lhi %r4,0
|
|
- st %r4,56(%r2) /* Set __flags to 0. */
|
|
-#endif
|
|
std %f4,40(%r2)
|
|
std %f6,48(%r2)
|
|
#if defined NOT_IN_libc && defined IS_IN_rtld
|
|
diff --git a/sysdeps/s390/s390-64/__longjmp-common.c b/sysdeps/s390/s390-64/__longjmp-common.c
|
|
index 46cabb6..168ebf5 100644
|
|
--- a/sysdeps/s390/s390-64/__longjmp-common.c
|
|
+++ b/sysdeps/s390/s390-64/__longjmp-common.c
|
|
@@ -25,7 +25,7 @@
|
|
|
|
/* Jump to the position specified by ENV, causing the
|
|
setjmp call there to return VAL, or 1 if VAL is 0. */
|
|
-attribute_hidden void
|
|
+void
|
|
__longjmp (__jmp_buf env, int val)
|
|
{
|
|
#ifdef PTR_DEMANGLE
|
|
diff --git a/sysdeps/s390/s390-64/setjmp-common.S b/sysdeps/s390/s390-64/setjmp-common.S
|
|
index 9cdcae4..7b9dc42 100644
|
|
--- a/sysdeps/s390/s390-64/setjmp-common.S
|
|
+++ b/sysdeps/s390/s390-64/setjmp-common.S
|
|
@@ -55,10 +55,6 @@ ENTRY(__sigsetjmp)
|
|
#else
|
|
stmg %r6,%r15,0(%r2) /* Store registers in jmp_buf. */
|
|
#endif
|
|
-#ifndef __V1_JMPBUF
|
|
- lghi %r4,0
|
|
- stg %r4,144(%r2) /* Set __flags to 0. */
|
|
-#endif
|
|
std %f8,80(%r2)
|
|
std %f9,88(%r2)
|
|
std %f10,96(%r2)
|
|
diff --git a/sysdeps/s390/setjmp.S b/sysdeps/s390/setjmp.S
|
|
index 2ec621a..3e50e89 100644
|
|
--- a/sysdeps/s390/setjmp.S
|
|
+++ b/sysdeps/s390/setjmp.S
|
|
@@ -27,7 +27,6 @@ versioned_symbol (libc, __v2__sigsetjmp, __sigsetjmp, GLIBC_2_19)
|
|
#define _setjmp __v2_setjmp
|
|
#define __setjmp __v2__setjmp
|
|
#define __sigsetjmp __v2__sigsetjmp
|
|
-#define __sigjmp_save __v2__sigjmp_save
|
|
|
|
#include "setjmp-common.S"
|
|
|
|
@@ -35,7 +34,6 @@ versioned_symbol (libc, __v2__sigsetjmp, __sigsetjmp, GLIBC_2_19)
|
|
#undef _setjmp
|
|
#undef __setjmp
|
|
#undef __sigsetjmp
|
|
-#undef __sigjmp_save
|
|
libc_hidden_ver (__v2setjmp, setjmp)
|
|
libc_hidden_ver (__v2_setjmp, _setjmp)
|
|
libc_hidden_ver (__v2__setjmp, __setjmp)
|
|
@@ -46,19 +44,9 @@ compat_symbol (libc, __v1setjmp, setjmp, GLIBC_2_0)
|
|
compat_symbol (libc, __v1_setjmp, _setjmp, GLIBC_2_0)
|
|
compat_symbol (libc, __v1__setjmp, __setjmp, GLIBC_2_0)
|
|
compat_symbol (libc, __v1__sigsetjmp, __sigsetjmp, GLIBC_2_0)
|
|
-# define setjmp __v1setjmp
|
|
-# define _setjmp __v1_setjmp
|
|
-# define __setjmp __v1__setjmp
|
|
-# define __sigsetjmp __v1__sigsetjmp
|
|
-# define __sigjmp_save __v1__sigjmp_save
|
|
-# define __V1_JMPBUF
|
|
-
|
|
-# include "setjmp-common.S"
|
|
-
|
|
-# undef setjmp
|
|
-# undef _setjmp
|
|
-# undef __setjmp
|
|
-# undef __sigsetjmp
|
|
-# undef __sigjmp_save
|
|
+strong_alias (__v2setjmp, __v1setjmp)
|
|
+strong_alias (__v2_setjmp, __v1_setjmp)
|
|
+strong_alias (__v2__setjmp, __v1__setjmp)
|
|
+strong_alias (__v2__sigsetjmp, __v1__sigsetjmp)
|
|
|
|
#endif /* if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19) */
|
|
diff --git a/sysdeps/s390/sigjmp.c b/sysdeps/s390/sigjmp.c
|
|
index f7b5a6f..73dd356 100644
|
|
--- a/sysdeps/s390/sigjmp.c
|
|
+++ b/sysdeps/s390/sigjmp.c
|
|
@@ -24,7 +24,7 @@
|
|
Always return zero. */
|
|
|
|
int
|
|
-__v2__sigjmp_save (sigjmp_buf env, int savemask)
|
|
+__sigjmp_save (sigjmp_buf env, int savemask)
|
|
{
|
|
env[0].__mask_was_saved = (savemask &&
|
|
__sigprocmask (SIG_BLOCK, (sigset_t *) NULL,
|
|
diff --git a/sysdeps/s390/v1-longjmp.c b/sysdeps/s390/v1-longjmp.c
|
|
deleted file mode 100644
|
|
index 82252c9..0000000
|
|
--- a/sysdeps/s390/v1-longjmp.c
|
|
+++ /dev/null
|
|
@@ -1,57 +0,0 @@
|
|
-/* 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/>.
|
|
-
|
|
- Versioned copy of sysdeps/generic/longjmp.c modified for extended
|
|
- jmpbuf. */
|
|
-
|
|
-#include <shlib-compat.h>
|
|
-#include <stddef.h>
|
|
-#include <signal.h>
|
|
-#include "v1-setjmp.h"
|
|
-
|
|
-#if !defined NOT_INT_libc && defined SHARED
|
|
-# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19)
|
|
-
|
|
-void
|
|
-__v1__libc_siglongjmp (__v1__sigjmp_buf env, int val)
|
|
-{
|
|
- /* Perform any cleanups needed by the frames being unwound. */
|
|
- _longjmp_unwind (env, val);
|
|
-
|
|
- if (env[0].__mask_was_saved)
|
|
- /* Restore the saved signal mask. */
|
|
- (void) __sigprocmask (SIG_SETMASK, &env[0].__saved_mask,
|
|
- (sigset_t *) NULL);
|
|
-
|
|
- /* Call the machine-dependent function to restore machine state. */
|
|
- __v1__longjmp (env[0].__jmpbuf, val ?: 1);
|
|
-}
|
|
-
|
|
-# ifndef __v1__longjmp
|
|
-strong_alias (__v1__libc_siglongjmp, __v1__libc_longjmp)
|
|
-libc_hidden_def (__v1__libc_longjmp)
|
|
-weak_alias (__v1__libc_siglongjmp, __v1_longjmp)
|
|
-weak_alias (__v1__libc_siglongjmp, __v1longjmp)
|
|
-weak_alias (__v1__libc_siglongjmp, __v1siglongjmp)
|
|
-
|
|
-compat_symbol (libc, __v1_longjmp, _longjmp, GLIBC_2_0);
|
|
-compat_symbol (libc, __v1longjmp, longjmp, GLIBC_2_0);
|
|
-compat_symbol (libc, __v1siglongjmp, siglongjmp, GLIBC_2_0);
|
|
-
|
|
-# endif /* ifndef __v1__longjmp */
|
|
-# endif /* SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19) */
|
|
-#endif /* if !defined NOT_INT_libc && defined SHARED */
|
|
diff --git a/sysdeps/s390/v1-setjmp.h b/sysdeps/s390/v1-setjmp.h
|
|
deleted file mode 100644
|
|
index a4a6b76..0000000
|
|
--- a/sysdeps/s390/v1-setjmp.h
|
|
+++ /dev/null
|
|
@@ -1,111 +0,0 @@
|
|
-/* Copyright (C) 1991-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/>. */
|
|
-
|
|
-/*
|
|
- * ISO C99 Standard: 7.13 Nonlocal jumps <setjmp.h>
|
|
- */
|
|
-
|
|
-#ifndef _V1_SETJMP_H
|
|
-#define _V1_SETJMP_H 1
|
|
-
|
|
-#include <features.h>
|
|
-
|
|
-__BEGIN_DECLS
|
|
-
|
|
-#define __V1_JMPBUF
|
|
-#define _SETJMP_H
|
|
-#include <bits/setjmp.h> /* Get `__jmp_buf'. */
|
|
-
|
|
-#ifndef _ASM
|
|
-
|
|
-#include <bits/sigset.h> /* Get `__sigset_t'. */
|
|
-
|
|
-
|
|
-/* Calling environment, plus possibly a saved signal mask. */
|
|
-typedef struct __v1__jmp_buf_tag
|
|
- {
|
|
- /* NOTE: The machine-dependent definitions of `__sigsetjmp'
|
|
- assume that a `jmp_buf' begins with a `__jmp_buf' and that
|
|
- `__mask_was_saved' follows it. Do not move these members
|
|
- or add others before it. */
|
|
- __jmp_buf __jmpbuf; /* Calling environment. */
|
|
- int __mask_was_saved; /* Saved the signal mask? */
|
|
- __sigset_t __saved_mask; /* Saved signal mask. */
|
|
- } __v1__jmp_buf[1];
|
|
-
|
|
-
|
|
-/* Store the calling environment in ENV, also saving the signal mask.
|
|
- Return 0. */
|
|
-extern int __v1setjmp (__v1__jmp_buf __env);
|
|
-
|
|
-/* Store the calling environment in ENV, also saving the
|
|
- signal mask if SAVEMASK is nonzero. Return 0.
|
|
- This is the internal name for `sigsetjmp'. */
|
|
-extern int __v1__sigsetjmp (struct __v1__jmp_buf_tag __env[1],
|
|
- int __savemask);
|
|
-
|
|
-/* Store the calling environment in ENV, not saving the signal mask.
|
|
- Return 0. */
|
|
-extern int __v1_setjmp (struct __v1__jmp_buf_tag __env[1]);
|
|
-
|
|
-/* Jump to the environment saved in ENV, making the
|
|
- `setjmp' call there return VAL, or 1 if VAL is 0. */
|
|
-extern void __v1longjmp (struct __v1__jmp_buf_tag __env[1], int __val)
|
|
- __attribute__ ((__noreturn__));
|
|
-
|
|
-/* Same. Usually `_longjmp' is used with `_setjmp', which does not save
|
|
- the signal mask. But it is how ENV was saved that determines whether
|
|
- `longjmp' restores the mask; `_longjmp' is just an alias. */
|
|
-extern void __v1_longjmp (struct __v1__jmp_buf_tag __env[1], int __val)
|
|
- __attribute__ ((__noreturn__));
|
|
-
|
|
-/* Use the same type for `jmp_buf' and `sigjmp_buf'.
|
|
- The `__mask_was_saved' flag determines whether
|
|
- or not `longjmp' will restore the signal mask. */
|
|
-typedef struct __v1__jmp_buf_tag __v1__sigjmp_buf[1];
|
|
-
|
|
-/* Jump to the environment saved in ENV, making the
|
|
- sigsetjmp call there return VAL, or 1 if VAL is 0.
|
|
- Restore the signal mask if that sigsetjmp call saved it.
|
|
- This is just an alias `longjmp'. */
|
|
-extern void __v1siglongjmp (__v1__sigjmp_buf __env, int __val)
|
|
- __attribute__ ((__noreturn__));
|
|
-
|
|
-/* Internal machine-dependent function to restore context sans signal mask. */
|
|
-extern void __v1__longjmp (__jmp_buf __env, int __val)
|
|
- __attribute__ ((__noreturn__));
|
|
-
|
|
-/* Internal function to possibly save the current mask of blocked signals
|
|
- in ENV, and always set the flag saying whether or not it was saved.
|
|
- This is used by the machine-dependent definition of `__sigsetjmp'.
|
|
- Always returns zero, for convenience. */
|
|
-extern int __v1__sigjmp_save (__v1__jmp_buf __env, int __savemask);
|
|
-
|
|
-extern void _longjmp_unwind (__v1__jmp_buf env, int val);
|
|
-
|
|
-extern void __v1__libc_siglongjmp (__v1__sigjmp_buf env, int val)
|
|
- __attribute__ ((noreturn));
|
|
-
|
|
-extern void __v1__libc_longjmp (__v1__sigjmp_buf env, int val)
|
|
- __attribute__ ((noreturn));
|
|
-
|
|
-libc_hidden_proto (__v1__libc_longjmp)
|
|
-libc_hidden_proto (__v1_setjmp)
|
|
-libc_hidden_proto (__v1__sigsetjmp)
|
|
-#endif /* !_ASM */
|
|
-
|
|
-#endif /* ifndef _V1_SETJMP_H */
|
|
diff --git a/sysdeps/s390/v1-sigjmp.c b/sysdeps/s390/v1-sigjmp.c
|
|
deleted file mode 100644
|
|
index b624d16..0000000
|
|
--- a/sysdeps/s390/v1-sigjmp.c
|
|
+++ /dev/null
|
|
@@ -1,44 +0,0 @@
|
|
-/* Copyright (C) 1992-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/>.
|
|
-
|
|
- Copied from setjmp/sigjmp.c for extending jmp_buf. */
|
|
-
|
|
-#include <bits/wordsize.h>
|
|
-#include <shlib-compat.h>
|
|
-
|
|
-#if !defined NOT_IN_libc && defined SHARED
|
|
-# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19)
|
|
-# include <stddef.h>
|
|
-# include <v1-setjmp.h>
|
|
-# include <signal.h>
|
|
-
|
|
-/* This function is called by the `sigsetjmp' macro
|
|
- before doing a `__setjmp' on ENV[0].__jmpbuf.
|
|
- Always return zero. */
|
|
-
|
|
-int
|
|
-__v1__sigjmp_save (__v1__sigjmp_buf env, int savemask)
|
|
-{
|
|
- env[0].__mask_was_saved = (savemask &&
|
|
- __sigprocmask (SIG_BLOCK, (sigset_t *) NULL,
|
|
- &env[0].__saved_mask) == 0);
|
|
-
|
|
- return 0;
|
|
-}
|
|
-
|
|
-# endif /* SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_19) */
|
|
-#endif /* !NOT_IN_libc && SHARED */
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/Makefile b/sysdeps/unix/sysv/linux/s390/Makefile
|
|
index f91179d..45b1922 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/Makefile
|
|
+++ b/sysdeps/unix/sysv/linux/s390/Makefile
|
|
@@ -16,9 +16,3 @@ endif
|
|
ifeq ($(subdir),elf)
|
|
sysdep_routines += dl-vdso
|
|
endif
|
|
-
|
|
-ifeq ($(subdir),debug)
|
|
-ifeq (yes,$(build-shared))
|
|
-sysdep_routines += v1-longjmp_chk
|
|
-endif
|
|
-endif
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/getcontext.S b/sysdeps/unix/sysv/linux/s390/getcontext.S
|
|
index 5edbf95..4b2c2c6 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/getcontext.S
|
|
+++ b/sysdeps/unix/sysv/linux/s390/getcontext.S
|
|
@@ -29,10 +29,6 @@ versioned_symbol (libc, __v2getcontext, getcontext, GLIBC_2_19)
|
|
libc_hidden_ver (__v2getcontext, getcontext)
|
|
|
|
#if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_19)
|
|
-# define __V1_UCONTEXT
|
|
compat_symbol (libc, __v1getcontext, getcontext, GLIBC_2_1)
|
|
-# define __getcontext __v1getcontext
|
|
-# include "getcontext-common.S"
|
|
-# undef __getcontext
|
|
-
|
|
+strong_alias (__v2getcontext, __v1getcontext)
|
|
#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/longjmp_chk.c b/sysdeps/unix/sysv/linux/s390/longjmp_chk.c
|
|
index 10f542d..84c28b7 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/longjmp_chk.c
|
|
+++ b/sysdeps/unix/sysv/linux/s390/longjmp_chk.c
|
|
@@ -21,24 +21,25 @@
|
|
#include <shlib-compat.h>
|
|
#include <setjmp.h>
|
|
|
|
-/* This place is the only user of these functions. */
|
|
-extern void ____v2__longjmp_chk (__jmp_buf __env, int __val)
|
|
- __attribute__ ((__noreturn__));
|
|
-
|
|
#if defined NOT_IN_libc
|
|
|
|
-# define __v2__longjmp ____longjmp_chk
|
|
-# define __v2__libc_siglongjmp __longjmp_chk
|
|
+# define __longjmp ____longjmp_chk
|
|
+# define __libc_siglongjmp __longjmp_chk
|
|
|
|
# include <longjmp.c>
|
|
|
|
#else
|
|
|
|
-# define __v2__longjmp ____v2__longjmp_chk
|
|
-# define __v2__libc_siglongjmp __v2__libc_siglongjmp_chk
|
|
+# define __longjmp ____longjmp_chk
|
|
+# define __libc_siglongjmp __libc_siglongjmp_chk
|
|
|
|
# include <longjmp.c>
|
|
|
|
-versioned_symbol (libc, __v2__libc_siglongjmp_chk, __longjmp_chk, GLIBC_2_19);
|
|
+versioned_symbol (libc, __libc_siglongjmp_chk, __longjmp_chk, GLIBC_2_19);
|
|
+
|
|
+# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_11, GLIBC_2_19)
|
|
+strong_alias (__libc_siglongjmp_chk, __v1__libc_siglongjmp_chk);
|
|
+compat_symbol (libc, __v1__libc_siglongjmp_chk, __longjmp_chk, GLIBC_2_11);
|
|
+# endif
|
|
|
|
#endif
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c b/sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c
|
|
index a1b7a6a..3cf4e35 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c
|
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/____longjmp_chk.c
|
|
@@ -52,21 +52,5 @@
|
|
} while (0)
|
|
|
|
|
|
-#if defined NOT_IN_libc
|
|
-/* Build a non-versioned object for rtld-*. */
|
|
# define __longjmp ____longjmp_chk
|
|
# include "__longjmp-common.c"
|
|
-
|
|
-#else /* !NOT_IN_libc */
|
|
-# define __longjmp ____v2__longjmp_chk
|
|
-# include "__longjmp-common.c"
|
|
-
|
|
-# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_11, GLIBC_2_19)
|
|
-# undef __longjmp
|
|
-# define __V1_JMPBUF
|
|
-# define __longjmp ____v1__longjmp_chk
|
|
-# include "__longjmp-common.c"
|
|
-# undef __longjmp
|
|
-
|
|
-# endif
|
|
-#endif /* !NOT_IN_libc */
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/getcontext-common.S b/sysdeps/unix/sysv/linux/s390/s390-32/getcontext-common.S
|
|
index 4992030..42fc376 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/s390-32/getcontext-common.S
|
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/getcontext-common.S
|
|
@@ -19,7 +19,6 @@
|
|
#include <sysdep.h>
|
|
#include <features.h>
|
|
|
|
-#include "rtld-global-offsets.h"
|
|
#include "ucontext_i.h"
|
|
|
|
/* __getcontext (const ucontext_t *ucp)
|
|
@@ -60,42 +59,6 @@ ENTRY(__getcontext)
|
|
std %f14,SC_FPRS+112(%r1)
|
|
std %f15,SC_FPRS+120(%r1)
|
|
|
|
- lhi %r2,0
|
|
-#ifndef __V1_UCONTEXT
|
|
- bras %r3,0f
|
|
-# ifdef IS_IN_rtld
|
|
- /* Within ld.so we can do slightly better by addressing dl_hwap
|
|
- relative to GOT start. */
|
|
-1: .long _GLOBAL_OFFSET_TABLE_ - 1b
|
|
- .long C_SYMBOL_NAME(_rtld_global_ro)@GOTOFF
|
|
-0: l %r4,0(%r3)
|
|
- la %r4,0(%r3,%r4)
|
|
- l %r5,4(%r3)
|
|
- /* _dl_hwcap is 64 bit and we need the lower 32. */
|
|
- l %r3,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(%r4,%r5)
|
|
-# elif PIC
|
|
-1: .long _GLOBAL_OFFSET_TABLE_ - 1b
|
|
- .long C_SYMBOL_NAME(_rtld_global_ro)@GOT
|
|
-0: l %r4,0(%r3)
|
|
- la %r4,0(%r3,%r4) /* GOT pointer -> r4 */
|
|
- l %r5,4(%r3) /* GOT offset -> r5 */
|
|
- l %r5,0(%r4,%r5) /* GOT slot -> r5 */
|
|
- l %r3,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(%r5)
|
|
-# else
|
|
- .long C_SYMBOL_NAME(_dl_hwcap)
|
|
-0: l %r3,0(%r3)
|
|
- l %r3,0(%r3)
|
|
-# endif
|
|
- tml %r3,512 /* HWCAP_S390_HIGH_GPRS */
|
|
- jz 2f
|
|
- /* highgprs implies zarch so stmh/oill is ok here. */
|
|
- .machine "z900"
|
|
- .machinemode "zarch_nohighgprs"
|
|
- stmh %r0,%r15,SC_HIGHGPRS(%r1)
|
|
- oill %r2,1 /* UCONTEXT_UC_FLAGS_HIGH_GPRS */
|
|
-#endif
|
|
-2: st %r2,SC_FLGS(%r1)
|
|
-
|
|
/* Set __getcontext return value to 0. */
|
|
slr %r2,%r2
|
|
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S b/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
|
|
index fbe8b77..42839e2 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
|
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S
|
|
@@ -62,16 +62,8 @@ ENTRY(__setcontext)
|
|
/* Don't touch %a0, used for thread purposes. */
|
|
lam %a1,%a15,SC_ACRS+4(%r1)
|
|
|
|
- /* Restore the upper halfs if available. */
|
|
- l %r2,SC_FLGS(%r1)
|
|
- tml %r2,1 /* UCONTEXT_UC_FLAGS_HIGH_GPRS */
|
|
- jz 0f
|
|
- .machine "z900"
|
|
- .machinemode "zarch_nohighgprs"
|
|
- lmh %r0,%r15,SC_HIGHGPRS(%r1)
|
|
-
|
|
/* Load general purpose registers. */
|
|
-0: lm %r0,%r15,SC_GPRS(%r1)
|
|
+ lm %r0,%r15,SC_GPRS(%r1)
|
|
|
|
/* Return. */
|
|
br %r14
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S b/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S
|
|
index 41ede4b..5c1d7ac 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S
|
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S
|
|
@@ -74,21 +74,10 @@ ENTRY(__swapcontext)
|
|
/* Store general purpose registers. */
|
|
stm %r0,%r15,SC_GPRS(%r1)
|
|
|
|
- /* Copy uc_flags into the new ucontext_t. */
|
|
lr %r5,%r0
|
|
- l %r2,SC_FLGS(%r5)
|
|
- st %r2,SC_FLGS(%r1)
|
|
-
|
|
- /* Save/restore the upper halfs if necessary. */
|
|
- tml %r2,1 /* UCONTEXT_UC_FLAGS_HIGH_GPRS */
|
|
- jz 0f
|
|
- .machine "z900"
|
|
- .machinemode "zarch_nohighgprs"
|
|
- stmh %r0,%r15,SC_HIGHGPRS(%r1)
|
|
- lmh %r0,%r15,SC_HIGHGPRS(%r5)
|
|
|
|
/* rt_sigprocmask (SIG_SETMASK, &sc->sc_mask, NULL, sigsetsize). */
|
|
-0: la %r2,SIG_BLOCK
|
|
+ la %r2,SIG_BLOCK
|
|
la %r3,SC_MASK(%r5)
|
|
slr %r4,%r4
|
|
lhi %r5,_NSIG8
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.sym b/sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.sym
|
|
index 705c7ab..6cc9f19 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.sym
|
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/ucontext_i.sym
|
|
@@ -23,4 +23,3 @@ SC_ACRS mcontext (aregs)
|
|
SC_FPC mcontext (fpregs.fpc)
|
|
SC_FPRS mcontext (fpregs.fprs)
|
|
SC_MASK ucontext (uc_sigmask)
|
|
-SC_HIGHGPRS ucontext (uc_high_gprs)
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c b/sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c
|
|
index bc27b08..a8c2b8d 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c
|
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/____longjmp_chk.c
|
|
@@ -52,22 +52,5 @@
|
|
} while (0)
|
|
|
|
|
|
-#if defined NOT_IN_libc
|
|
-/* Build a non-versioned object for rtld-*. */
|
|
# define __longjmp ____longjmp_chk
|
|
# include "__longjmp-common.c"
|
|
-
|
|
-#else /* !NOT_IN_libc */
|
|
-# define __longjmp ____v2__longjmp_chk
|
|
-# include "__longjmp-common.c"
|
|
-# undef __longjmp
|
|
-
|
|
-# if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_11, GLIBC_2_19)
|
|
-# undef __longjmp
|
|
-# define __V1_JMPBUF
|
|
-# define __longjmp ____v1__longjmp_chk
|
|
-# include "__longjmp-common.c"
|
|
-# undef __longjmp
|
|
-
|
|
-# endif
|
|
-#endif /* !NOT_IN_libc */
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/getcontext-common.S b/sysdeps/unix/sysv/linux/s390/s390-64/getcontext-common.S
|
|
index 3e61e30..3538ee7 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/s390-64/getcontext-common.S
|
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/getcontext-common.S
|
|
@@ -62,10 +62,6 @@ ENTRY(__getcontext)
|
|
/* Set __getcontext return value to 0. */
|
|
slgr %r2,%r2
|
|
|
|
- /* Store the version number into the uc_flags field. So far
|
|
- we do not make use of the reserved bytes so we store a zero. */
|
|
- stg %r2,SC_FLGS(%r1)
|
|
-
|
|
/* Store access registers. */
|
|
stam %a0,%a15,SC_ACRS(%r1)
|
|
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S b/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S
|
|
index ac74b6b..eda5d33 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S
|
|
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S
|
|
@@ -74,10 +74,7 @@ ENTRY(__swapcontext)
|
|
/* Store general purpose registers. */
|
|
stmg %r0,%r15,SC_GPRS(%r1)
|
|
|
|
- /* Copy uc_flags into the new ucontext_t. */
|
|
lgr %r5,%r0
|
|
- lg %r2,SC_FLGS(%r5)
|
|
- stg %r2,SC_FLGS(%r1)
|
|
|
|
/* rt_sigprocmask (SIG_SETMASK, &sc->sc_mask, NULL, sigsetsize). */
|
|
la %r2,SIG_BLOCK
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
|
|
index f04bf84..d528cb1 100644
|
|
--- a/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
|
|
+++ b/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
|
|
@@ -64,15 +64,6 @@ typedef struct
|
|
fpreg_t fprs[16];
|
|
} fpregset_t;
|
|
|
|
-/* Bit is set if the uc_high_gprs field contains the upper halfs of
|
|
- the 64 bit general purpose registers. Since the uc_high_gprs field
|
|
- is only available in the 32 bit version of ucontext_t it will never
|
|
- be set for 64 bit. */
|
|
-#define UCONTEXT_UC_FLAGS_HIGH_GPRS (1UL << 0)
|
|
-
|
|
-/* A new uc_flags constant will be defined when actually making use of
|
|
- the reserved space: UCONTEXT_UCFLAGS_RESERVED (1UL << 1). */
|
|
-
|
|
/* Context to describe whole processor state. */
|
|
typedef struct
|
|
{
|
|
@@ -90,10 +81,6 @@ struct ucontext
|
|
stack_t uc_stack;
|
|
mcontext_t uc_mcontext;
|
|
__sigset_t uc_sigmask;
|
|
-#ifndef __s390x__
|
|
- unsigned long uc_high_gprs[16];
|
|
-#endif
|
|
- char __reserved[512];
|
|
};
|
|
|
|
|
|
diff --git a/sysdeps/unix/sysv/linux/s390/v1-longjmp_chk.c b/sysdeps/unix/sysv/linux/s390/v1-longjmp_chk.c
|
|
deleted file mode 100644
|
|
index bd80acf..0000000
|
|
--- a/sysdeps/unix/sysv/linux/s390/v1-longjmp_chk.c
|
|
+++ /dev/null
|
|
@@ -1,35 +0,0 @@
|
|
-/* 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 went into a separate source file since we would otherwise be
|
|
- needed to include two different versions of setjmp.h into the same
|
|
- file. */
|
|
-
|
|
-#include <shlib-compat.h>
|
|
-
|
|
-#if !defined NOT_IN_libc && defined SHARED
|
|
-# if SHLIB_COMPAT (libc, GLIBC_2_11, GLIBC_2_19)
|
|
-
|
|
-# define __v1__longjmp ____v1__longjmp_chk
|
|
-# define __v1__libc_siglongjmp __v1__libc_siglongjmp_chk
|
|
-
|
|
-# include <v1-longjmp.c>
|
|
-
|
|
-compat_symbol (libc, __v1__libc_siglongjmp_chk, __longjmp_chk, GLIBC_2_11);
|
|
-
|
|
-# endif
|
|
-#endif
|
|
--
|
|
2.0.2
|
|
|