summaryrefslogtreecommitdiff
path: root/setjmp
diff options
context:
space:
mode:
Diffstat (limited to 'setjmp')
-rw-r--r--setjmp/Makefile2
-rw-r--r--setjmp/__longjmp.c2
-rw-r--r--setjmp/bits/setjmp2.h2
-rw-r--r--setjmp/bsd-_setjmp.c2
-rw-r--r--setjmp/bsd-setjmp.c2
-rw-r--r--setjmp/bug269-setjmp.c2
-rw-r--r--setjmp/jmp-unwind.c2
-rw-r--r--setjmp/longjmp.c12
-rw-r--r--setjmp/setjmp.c2
-rw-r--r--setjmp/setjmp.h13
-rw-r--r--setjmp/sigjmp.c6
-rw-r--r--setjmp/tst-setjmp-fp.c2
-rw-r--r--setjmp/tst-setjmp.c2
-rw-r--r--setjmp/tst-sigsetjmp.c2
14 files changed, 24 insertions, 29 deletions
diff --git a/setjmp/Makefile b/setjmp/Makefile
index 5b677cc588..dc2fcc62b6 100644
--- a/setjmp/Makefile
+++ b/setjmp/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2016 Free Software Foundation, Inc.
+# Copyright (C) 1991-2018 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/setjmp/__longjmp.c b/setjmp/__longjmp.c
index e4fc2aa8fd..0d0642476a 100644
--- a/setjmp/__longjmp.c
+++ b/setjmp/__longjmp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 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/setjmp/bits/setjmp2.h b/setjmp/bits/setjmp2.h
index dbf345486b..e6e996699e 100644
--- a/setjmp/bits/setjmp2.h
+++ b/setjmp/bits/setjmp2.h
@@ -1,5 +1,5 @@
/* Checking macros for setjmp functions.
- Copyright (C) 2009-2016 Free Software Foundation, Inc.
+ Copyright (C) 2009-2018 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/setjmp/bsd-_setjmp.c b/setjmp/bsd-_setjmp.c
index a710d904b9..24fd4d1a57 100644
--- a/setjmp/bsd-_setjmp.c
+++ b/setjmp/bsd-_setjmp.c
@@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. Stub version.
- Copyright (C) 1994-2016 Free Software Foundation, Inc.
+ Copyright (C) 1994-2018 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/setjmp/bsd-setjmp.c b/setjmp/bsd-setjmp.c
index 53eef87d48..d8d154c142 100644
--- a/setjmp/bsd-setjmp.c
+++ b/setjmp/bsd-setjmp.c
@@ -1,5 +1,5 @@
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. Stub version.
- Copyright (C) 1994-2016 Free Software Foundation, Inc.
+ Copyright (C) 1994-2018 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/setjmp/bug269-setjmp.c b/setjmp/bug269-setjmp.c
index 4bf5b7cbe4..b9a34834f2 100644
--- a/setjmp/bug269-setjmp.c
+++ b/setjmp/bug269-setjmp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2004-2018 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/setjmp/jmp-unwind.c b/setjmp/jmp-unwind.c
index f8dd4cecde..736ff48316 100644
--- a/setjmp/jmp-unwind.c
+++ b/setjmp/jmp-unwind.c
@@ -1,5 +1,5 @@
/* _longjmp_unwind -- Clean up stack frames unwound by longjmp. Stub version.
- Copyright (C) 1995-2016 Free Software Foundation, Inc.
+ Copyright (C) 1995-2018 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/setjmp/longjmp.c b/setjmp/longjmp.c
index e10c45e1cb..453889e103 100644
--- a/setjmp/longjmp.c
+++ b/setjmp/longjmp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 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
@@ -16,7 +16,7 @@
<http://www.gnu.org/licenses/>. */
#include <stddef.h>
-#include <setjmp.h>
+#include <setjmpP.h>
#include <signal.h>
@@ -31,7 +31,8 @@ __libc_siglongjmp (sigjmp_buf env, int val)
if (env[0].__mask_was_saved)
/* Restore the saved signal mask. */
- (void) __sigprocmask (SIG_SETMASK, &env[0].__saved_mask,
+ (void) __sigprocmask (SIG_SETMASK,
+ (sigset_t *) &env[0].__saved_mask,
(sigset_t *) NULL);
/* Call the machine-dependent function to restore machine state. */
@@ -39,8 +40,11 @@ __libc_siglongjmp (sigjmp_buf env, int val)
}
#ifndef __libc_siglongjmp
+# ifndef __libc_longjmp
+/* __libc_longjmp is a private interface for cancellation implementation
+ in libpthread. */
strong_alias (__libc_siglongjmp, __libc_longjmp)
-libc_hidden_def (__libc_longjmp)
+# endif
weak_alias (__libc_siglongjmp, _longjmp)
weak_alias (__libc_siglongjmp, longjmp)
weak_alias (__libc_siglongjmp, siglongjmp)
diff --git a/setjmp/setjmp.c b/setjmp/setjmp.c
index b4f2c9adf2..48fc7b7395 100644
--- a/setjmp/setjmp.c
+++ b/setjmp/setjmp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 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/setjmp/setjmp.h b/setjmp/setjmp.h
index ccfb70a535..1a244c4cc6 100644
--- a/setjmp/setjmp.h
+++ b/setjmp/setjmp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 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
@@ -27,8 +27,7 @@
__BEGIN_DECLS
#include <bits/setjmp.h> /* Get `__jmp_buf'. */
-#include <bits/sigset.h> /* Get `__sigset_t'. */
-
+#include <bits/types/__sigset_t.h>
/* Calling environment, plus possibly a saved signal mask. */
struct __jmp_buf_tag
@@ -43,16 +42,12 @@ struct __jmp_buf_tag
};
-__BEGIN_NAMESPACE_STD
-
typedef struct __jmp_buf_tag jmp_buf[1];
/* Store the calling environment in ENV, also saving the signal mask.
Return 0. */
extern int setjmp (jmp_buf __env) __THROWNL;
-__END_NAMESPACE_STD
-
/* Store the calling environment in ENV, also saving the
signal mask if SAVEMASK is nonzero. Return 0.
This is the internal name for `sigsetjmp'. */
@@ -67,15 +62,11 @@ extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL;
#define setjmp(env) _setjmp (env)
-__BEGIN_NAMESPACE_STD
-
/* Jump to the environment saved in ENV, making the
`setjmp' call there return VAL, or 1 if VAL is 0. */
extern void longjmp (struct __jmp_buf_tag __env[1], int __val)
__THROWNL __attribute__ ((__noreturn__));
-__END_NAMESPACE_STD
-
#if defined __USE_MISC || defined __USE_XOPEN
/* Same. Usually `_longjmp' is used with `_setjmp', which does not save
the signal mask. But it is how ENV was saved that determines whether
diff --git a/setjmp/sigjmp.c b/setjmp/sigjmp.c
index a7f9f675a2..d727ba5c27 100644
--- a/setjmp/sigjmp.c
+++ b/setjmp/sigjmp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2018 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
@@ -16,7 +16,7 @@
<http://www.gnu.org/licenses/>. */
#include <stddef.h>
-#include <setjmp.h>
+#include <setjmpP.h>
#include <signal.h>
/* This function is called by the `sigsetjmp' macro
@@ -28,7 +28,7 @@ __sigjmp_save (sigjmp_buf env, int savemask)
{
env[0].__mask_was_saved = (savemask &&
__sigprocmask (SIG_BLOCK, (sigset_t *) NULL,
- &env[0].__saved_mask) == 0);
+ (sigset_t *) &env[0].__saved_mask) == 0);
return 0;
}
diff --git a/setjmp/tst-setjmp-fp.c b/setjmp/tst-setjmp-fp.c
index 142232ae17..77046ea5a7 100644
--- a/setjmp/tst-setjmp-fp.c
+++ b/setjmp/tst-setjmp-fp.c
@@ -1,6 +1,6 @@
/* Test that setjmp/longjmp do not save and restore floating-point
exceptions and rounding modes.
- Copyright (C) 2013-2016 Free Software Foundation, Inc.
+ Copyright (C) 2013-2018 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/setjmp/tst-setjmp.c b/setjmp/tst-setjmp.c
index efa4930155..b750dbccd2 100644
--- a/setjmp/tst-setjmp.c
+++ b/setjmp/tst-setjmp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2018 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/setjmp/tst-sigsetjmp.c b/setjmp/tst-sigsetjmp.c
index bea05b5170..a9c5f84e40 100644
--- a/setjmp/tst-sigsetjmp.c
+++ b/setjmp/tst-sigsetjmp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2013-2016 Free Software Foundation, Inc.
+/* Copyright (C) 2013-2018 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