X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Fsysdep.h;h=beca164a9736c83caec111ebe0461278fb7a81b3;hb=72da393d4131836933f104abf0f605e09970f134;hp=cdd0fc08798c84ff5db81eb71d344cac9b1d636c;hpb=4b95cf5c0c75d6efc1b2f96af72317aecca079f1;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/sysdep.h b/opcodes/sysdep.h index cdd0fc0879..beca164a97 100644 --- a/opcodes/sysdep.h +++ b/opcodes/sysdep.h @@ -1,5 +1,5 @@ /* Random host-dependent support code. - Copyright (C) 1995-2014 Free Software Foundation, Inc. + Copyright (C) 1995-2016 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