X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Fsysdep.h;h=beca164a9736c83caec111ebe0461278fb7a81b3;hb=1047201fd0f402428bb3331638a198413f97f476;hp=b09d19eb31526e7b91503224561c6ee5f090a714;hpb=df7b86aa4cb63ce86e60949b8160438bc0f9e389;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/sysdep.h b/opcodes/sysdep.h index b09d19eb31..beca164a97 100644 --- a/opcodes/sysdep.h +++ b/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-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