rewrite comment -- bfd-in2.h is generated too

This commit is contained in:
Ken Raeburn 1993-08-05 18:27:16 +00:00
parent a49880c83d
commit 1fa5371efb

View file

@ -1,9 +1,11 @@
/* Main header file for the bfd library -- portable access to object files. /* Main header file for the bfd library -- portable access to object files.
==> The bfd.h file is generated from bfd-in.h and various .c files; if you
==> change it, your changes will probably be lost.
Copyright 1990, 1991, 1992, 1993 Free Software Foundation, Inc. Copyright 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
Contributed by Cygnus Support. Contributed by Cygnus Support.
** NOTE: bfd.h and bfd-in2.h are GENERATED files. Don't change them;
** instead, change bfd-in.h or the other BFD source files processed to
** generate these files.
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 This program is free software; you can redistribute it and/or modify
@ -53,6 +55,14 @@ here. */
#define BFD64 #define BFD64
#endif #endif
#ifndef INLINE
#if __GNUC__ >= 2
#define INLINE __inline__
#else
#define INLINE
#endif
#endif
/* 64-bit type definition (if any) from bfd's sysdep.h goes here */ /* 64-bit type definition (if any) from bfd's sysdep.h goes here */
@ -101,12 +111,21 @@ typedef HOST_64_BIT int64_type;
typedef unsigned HOST_64_BIT uint64_type; typedef unsigned HOST_64_BIT uint64_type;
#endif #endif
#if !defined (uint64_type) && defined (__GNUC__)
#define uint64_type unsigned long long
#define int64_type long long
#define uint64_typeLOW(x) (unsigned long)(((x) & 0xffffffff))
#define uint64_typeHIGH(x) (unsigned long)(((x) >> 32) & 0xffffffff)
#endif
typedef unsigned HOST_64_BIT bfd_vma; typedef unsigned HOST_64_BIT bfd_vma;
typedef HOST_64_BIT bfd_signed_vma; typedef HOST_64_BIT bfd_signed_vma;
typedef unsigned HOST_64_BIT bfd_size_type; typedef unsigned HOST_64_BIT bfd_size_type;
typedef unsigned HOST_64_BIT symvalue; typedef unsigned HOST_64_BIT symvalue;
#define fprintf_vma(s,x) \ #define fprintf_vma(s,x) \
fprintf(s,"%08x%08x", uint64_typeHIGH(x), uint64_typeLOW(x)) fprintf(s,"%08x%08x", uint64_typeHIGH(x), uint64_typeLOW(x))
#define sprintf_vma(s,x) \
sprintf(s,"%08x%08x", uint64_typeHIGH(x), uint64_typeLOW(x))
#else /* not BFD64 */ #else /* not BFD64 */
/* Represent a target address. Also used as a generic unsigned type /* Represent a target address. Also used as a generic unsigned type
@ -125,6 +144,7 @@ typedef unsigned long bfd_size_type;
/* Print a bfd_vma x on stream s. */ /* Print a bfd_vma x on stream s. */
#define fprintf_vma(s,x) fprintf(s, "%08lx", x) #define fprintf_vma(s,x) fprintf(s, "%08lx", x)
#define sprintf_vma(s,x) sprintf(s, "%08lx", x)
#endif /* not BFD64 */ #endif /* not BFD64 */
#define printf_vma(x) fprintf_vma(stdout,x) #define printf_vma(x) fprintf_vma(stdout,x)
@ -301,14 +321,28 @@ typedef struct _symbol_info
the standard routine suffix), or it must #define the routines that the standard routine suffix), or it must #define the routines that
are not so named, before calling JUMP_TABLE in the initializer. */ are not so named, before calling JUMP_TABLE in the initializer. */
/* Semi-portable string concatenation in cpp */ /* Semi-portable string concatenation in cpp.
The CAT4 hack is to avoid a problem with some strict ANSI C preprocessors.
The problem is, "32_" is not a valid preprocessing token, and we don't
want extra underscores (e.g., "nlm_32_"). The XCAT2 macro will cause the
inner CAT macros to be evaluated first, producing still-valid pp-tokens.
Then the final concatenation can be done. (Sigh.) */
#ifndef CAT #ifndef CAT
#ifdef SABER
#define CAT(a,b) a##b
#define CAT3(a,b,c) a##b##c
#define CAT4(a,b,c,d) a##b##c##d
#else
#ifdef __STDC__ #ifdef __STDC__
#define CAT(a,b) a##b #define CAT(a,b) a##b
#define CAT3(a,b,c) a##b##c #define CAT3(a,b,c) a##b##c
#define XCAT2(a,b) CAT(a,b)
#define CAT4(a,b,c,d) XCAT2(CAT(a,b),CAT(c,d))
#else #else
#define CAT(a,b) a/**/b #define CAT(a,b) a/**/b
#define CAT3(a,b,c) a/**/b/**/c #define CAT3(a,b,c) a/**/b/**/c
#define CAT4(a,b,c,d) a/**/b/**/c/**/d
#endif
#endif #endif
#endif #endif