X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fsysdep.h;h=aa6b095fd05e3e8793ec1b3145c9e71370032b46;hb=e0e48e8cf9bf04fb4fe3f232af299cdd3416e28a;hp=bf3eac03ccb7827237706d636137b7584363b121;hpb=c0ae4cccdd190ac5bdb579a7519ff8ff46fdc805;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/sysdep.h b/bfd/sysdep.h index bf3eac03cc..aa6b095fd0 100644 --- a/bfd/sysdep.h +++ b/bfd/sysdep.h @@ -1,72 +1,52 @@ /* sysdep.h -- handle host dependencies for the BFD library - Copyright 1995, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. + Copyright (C) 1995-2021 Free Software Foundation, Inc. Written by Cygnus Support. -This file is part of BFD, the Binary File Descriptor library. + This file is part of BFD, the Binary File Descriptor 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 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 3 of the License, 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. + 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. -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. */ + 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. */ #ifndef BFD_SYSDEP_H #define BFD_SYSDEP_H -#include "ansidecl.h" - -#include "config.h" - -#ifdef HAVE_STDDEF_H -#include +#ifdef PACKAGE +#error sysdep.h must be included in lieu of config.h #endif +#include "config.h" #include -#include -#include -#include -#if !(defined(errno) || defined(_MSC_VER) && defined(_INC_ERRNO)) -extern int errno; +#ifdef HAVE_SYS_TYPES_H +#include #endif -#ifdef HAVE_STRING_H +#include +#include #include -#else -#ifdef HAVE_STRINGS_H -#include -#else -extern char *strchr (); -extern char *strrchr (); -#endif -#endif -#ifdef HAVE_STDLIB_H -#include +#ifdef HAVE_UNISTD_H +#include #endif -#ifdef TIME_WITH_SYS_TIME -#include -#include -#else -#ifdef HAVE_SYS_TIME_H -#include -#else +#include #include -#endif -#endif -#ifdef HAVE_UNISTD_H -#include -#endif +#ifdef HAVE_SYS_RESOURCE_H +#include +#endif /* HAVE_SYS_RESOURCE_H */ #ifdef USE_BINARY_FOPEN #include "fopen-bin.h" @@ -94,6 +74,10 @@ extern char *strrchr (); #ifndef O_ACCMODE #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR) #endif +/* Systems that don't already define this, don't need it. */ +#ifndef O_BINARY +#define O_BINARY 0 +#endif #ifndef SEEK_SET #define SEEK_SET 0 @@ -104,54 +88,94 @@ extern char *strrchr (); #include "filenames.h" -#ifdef NEED_DECLARATION_STRSTR -extern char *strstr (); +#if !HAVE_DECL_FFS +extern int ffs (int); #endif -#ifdef NEED_DECLARATION_MALLOC -extern PTR malloc (); +#if !HAVE_DECL_STPCPY +extern char *stpcpy (char *__dest, const char *__src); #endif -#ifdef NEED_DECLARATION_REALLOC -extern PTR realloc (); +#ifdef HAVE_FTELLO +#if !HAVE_DECL_FTELLO +extern off_t ftello (FILE *stream); +#endif #endif -#ifdef NEED_DECLARATION_FREE -extern void free (); +#ifdef HAVE_FTELLO64 +#if !HAVE_DECL_FTELLO64 +extern off64_t ftello64 (FILE *stream); +#endif #endif -#ifdef NEED_DECLARATION_GETENV -extern char *getenv (); +#ifdef HAVE_FSEEKO +#if !HAVE_DECL_FSEEKO +extern int fseeko (FILE *stream, off_t offset, int whence); +#endif #endif -#ifdef ENABLE_NLS -#include -/* Note the use of dgetext() and PACKAGE here, rather than gettext(). - - This is because the code in this directory is used to build a library which - will be linked with code in other directories to form programs. We want to - maintain a seperate translation file for this directory however, rather - than being forced to merge it with that of any program linked to libbfd. - This is a library, so it cannot depend on the catalog currently loaded. - - In order to do this, we have to make sure that when we extract messages we - use the OPCODES domain rather than the domain of the program that included - the bfd library, (eg OBJDUMP). Hence we use dgettext (PACKAGE, String) - and define PACKAGE to be 'bfd'. (See the code in configure). */ -#define _(String) dgettext (PACKAGE, String) -#ifdef gettext_noop -#define N_(String) gettext_noop (String) -#else -#define N_(String) (String) +#ifdef HAVE_FSEEKO64 +#if !HAVE_DECL_FSEEKO64 +extern int fseeko64 (FILE *stream, off64_t offset, int whence); +#endif #endif + +/* Define offsetof for those systems which lack it */ + +#ifndef offsetof +#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) +#endif + +#ifdef ENABLE_NLS +# include +/* Note the redefinition of gettext and ngettext here to use PACKAGE. + + This is because the code in this directory is used to build a + library which will be linked with code in other directories to form + programs. We want to maintain a separate translation file for this + directory however, rather than being forced to merge it with that + of any program linked to libbfd. This is a library, so it cannot + depend on the catalog currently loaded. + + In order to do this, we have to make sure that when we extract + messages we use the BFD domain rather than the domain of the + program that included the bfd library, (eg OBJDUMP). Hence we use + dgettext (PACKAGE, String) and define PACKAGE to be 'bfd'. + (See the code in configure). */ +# undef gettext +# define gettext(Msgid) dgettext (PACKAGE, Msgid) +# undef ngettext +# define ngettext(Msgid1, Msgid2, n) dngettext (PACKAGE, Msgid1, Msgid2, n) +# define _(String) gettext (String) +# ifdef gettext_noop +# define N_(String) gettext_noop (String) +# else +# define N_(String) (String) +# endif #else # define gettext(Msgid) (Msgid) # define dgettext(Domainname, Msgid) (Msgid) # define dcgettext(Domainname, Msgid, Category) (Msgid) -# define textdomain(Domainname) while (0) /* nothing */ -# define bindtextdomain(Domainname, Dirname) while (0) /* nothing */ +# define ngettext(Msgid1, Msgid2, n) \ + (n == 1 ? Msgid1 : Msgid2) +# define dngettext(Domainname, Msgid1, Msgid2, n) \ + (n == 1 ? Msgid1 : Msgid2) +# define dcngettext(Domainname, Msgid1, Msgid2, n, Category) \ + (n == 1 ? Msgid1 : Msgid2) +# define textdomain(Domainname) do {} while (0) +# define bindtextdomain(Domainname, Dirname) do {} while (0) # define _(String) (String) # define N_(String) (String) #endif +#ifndef HAVE_GETUID +#define getuid() 0 +#endif + +#ifndef HAVE_GETGID +#define getgid() 0 +#endif + +#define POISON_BFD_BOOLEAN 1 + #endif /* ! defined (BFD_SYSDEP_H) */