X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fsysdep.h;h=652857153d38a748e934176ac6735f10db73e33a;hb=4ac31493c8029a4594dd6dbdcee058aead5ce781;hp=dd8146a961a8d32bf0b0d87baac5b66a00382c80;hpb=ab1aa5cd6cd1e18814c20c8801e989fc260b8ee9;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/sysdep.h b/bfd/sysdep.h index dd8146a961..652857153d 100644 --- a/bfd/sysdep.h +++ b/bfd/sysdep.h @@ -1,27 +1,30 @@ /* sysdep.h -- handle host dependencies for the BFD library - Copyright 1995 Free Software Foundation, Inc. + Copyright (C) 1995-2020 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" +#ifdef PACKAGE +#error sysdep.h must be included in lieu of config.h +#endif #include "config.h" @@ -31,13 +34,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include #include -#include #include -#ifndef errno +#if !(defined(errno) || defined(_MSC_VER) && defined(_INC_ERRNO)) extern int errno; #endif +#ifdef STRING_WITH_STRINGS +#include +#include +#else #ifdef HAVE_STRING_H #include #else @@ -46,7 +52,7 @@ extern int errno; #else extern char *strchr (); extern char *strrchr (); -extern char *strstr (); +#endif #endif #endif @@ -54,11 +60,11 @@ extern char *strstr (); #include #endif -#if TIME_WITH_SYS_TIME +#ifdef TIME_WITH_SYS_TIME #include #include #else -#if HAVE_SYS_TIME_H +#ifdef HAVE_SYS_TIME_H #include #else #include @@ -69,6 +75,10 @@ extern char *strstr (); #include #endif +#ifdef HAVE_SYS_RESOURCE_H +#include +#endif /* HAVE_SYS_RESOURCE_H */ + #ifdef USE_BINARY_FOPEN #include "fopen-bin.h" #else @@ -95,6 +105,10 @@ extern char *strstr (); #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 @@ -103,12 +117,110 @@ extern char *strstr (); #define SEEK_CUR 1 #endif -#ifdef NEED_DECLARATION_MALLOC -extern PTR malloc (); +#include "filenames.h" + +#if !HAVE_DECL_FFS +extern int ffs (int); #endif -#ifdef NEED_DECLARATION_FREE +#if !HAVE_DECL_FREE extern void free (); #endif +#if !HAVE_DECL_GETENV +extern char *getenv (); +#endif + +#if !HAVE_DECL_MALLOC +extern PTR malloc (); +#endif + +#if !HAVE_DECL_REALLOC +extern PTR realloc (); +#endif + +#if !HAVE_DECL_STPCPY +extern char *stpcpy (char *__dest, const char *__src); +#endif + +#if !HAVE_DECL_STRSTR +extern char *strstr (); +#endif + +#ifdef HAVE_FTELLO +#if !HAVE_DECL_FTELLO +extern off_t ftello (FILE *stream); +#endif +#endif + +#ifdef HAVE_FTELLO64 +#if !HAVE_DECL_FTELLO64 +extern off64_t ftello64 (FILE *stream); +#endif +#endif + +#ifdef HAVE_FSEEKO +#if !HAVE_DECL_FSEEKO +extern int fseeko (FILE *stream, off_t offset, int whence); +#endif +#endif + +#ifdef HAVE_FSEEKO64 +#if !HAVE_DECL_FSEEKO64 +extern int fseeko64 (FILE *stream, off64_t offset, int whence); +#endif +#endif + +#if !HAVE_DECL_STRNLEN +size_t strnlen (const char *, size_t); +#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 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 + #endif /* ! defined (BFD_SYSDEP_H) */