summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/opcodes/sysdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/opcodes/sysdep.h')
-rw-r--r--binutils-2.25/opcodes/sysdep.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/binutils-2.25/opcodes/sysdep.h b/binutils-2.25/opcodes/sysdep.h
index b09d19eb..84811f16 100644
--- a/binutils-2.25/opcodes/sysdep.h
+++ b/binutils-2.25/opcodes/sysdep.h
@@ -1,5 +1,5 @@
/* Random host-dependent support code.
- Copyright 1995, 1997, 2000, 2005, 2007, 2012 Free Software Foundation, Inc.
+ Copyright (C) 1995-2014 Free Software Foundation, Inc.
Written by Ken Raeburn.
This file is part of the GNU opcodes library.
@@ -55,3 +55,17 @@
#if !HAVE_DECL_STPCPY
extern char *stpcpy (char *__dest, const char *__src);
#endif
+
+/* Use sigsetjmp/siglongjmp without saving the signal mask if possible.
+ It is faster than setjmp/longjmp on systems where the signal mask is
+ saved. */
+
+#if defined(HAVE_SIGSETJMP)
+#define OPCODES_SIGJMP_BUF sigjmp_buf
+#define OPCODES_SIGSETJMP(buf) sigsetjmp((buf), 0)
+#define OPCODES_SIGLONGJMP(buf,val) siglongjmp((buf), (val))
+#else
+#define OPCODES_SIGJMP_BUF jmp_buf
+#define OPCODES_SIGSETJMP(buf) setjmp(buf)
+#define OPCODES_SIGLONGJMP(buf,val) longjmp((buf), (val))
+#endif