X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=opcodes%2Fsysdep.h;h=7ddf55de62850385a83d489dae4790e6a187414b;hb=b4a983cb93fa80d1653194e0a58231327c7d8cd3;hp=f1556da1f2eac090556a0912d0db0051b0f23efb;hpb=50982f7f9d9436b7f02655c496cedd298ec81ca8;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/sysdep.h b/opcodes/sysdep.h index f1556da1f2..7ddf55de62 100644 --- a/opcodes/sysdep.h +++ b/opcodes/sysdep.h @@ -1,22 +1,24 @@ /* Random host-dependent support code. - Copyright (C) 1995 Free Software Foundation, Inc. + Copyright (C) 1995-2020 Free Software Foundation, Inc. Written by Ken Raeburn. -This file is part of libopcodes, the opcodes library. + This file is part of the GNU opcodes library. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This library is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. -This program 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 General Public License for more details. + It 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 General Public + License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Do system-dependent stuff, mainly driven by autoconf-detected info. @@ -25,10 +27,22 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ trying to replace often did that. If it can be dropped from this file (check in a non-ANSI environment!), it should be. */ +#ifdef PACKAGE +#error sysdep.h must be included in lieu of config.h +#endif + #include "config.h" -#include +#include "ansidecl.h" + +#ifdef HAVE_STDLIB_H +#include +#endif +#ifdef STRING_WITH_STRINGS +#include +#include +#else #ifdef HAVE_STRING_H #include #else @@ -36,3 +50,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include #endif #endif +#endif + +#if !HAVE_DECL_STPCPY +extern char *stpcpy (char *__dest, const char *__src); +#endif + +#define opcodes_error_handler _bfd_error_handler + +/* 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