Update for merge of main BFD and GDB's BFD. Remove "_struct" suffix

on all struct types -- they are in a separate namespace anyway.
Move bfd_alloc, bfd_zalloc, bfd_realloc, bfd_release into libbfd.h,
since external users shouldn't be calling them anyway.
This commit is contained in:
John Gilmore 1991-05-02 02:52:21 +00:00
parent aec4cb918e
commit 9c6a9c925f
4 changed files with 30 additions and 46 deletions

View File

@ -1,7 +1,7 @@
/* VAX-specific definitions for a.out file header fields. */ /* VAX-specific definitions for a.out file header fields. */
#define PAGE_SIZE 512 /* aka NBPG in <sys/param.h> */ #define PAGE_SIZE 512 /* aka NBPG in <sys/param.h> */
#define SEGMENT_SIZE PAGE_SIZE /* rounding between text/data ??! */ #define SEGMENT_SIZE PAGE_SIZE /* rounding between text/data ? */
#define TEXT_START_ADDR 0 /* Text start address: see #define TEXT_START_ADDR 0 /* Text start address: see
<machine/vmparam.h> USRTEXT. */ <machine/vmparam.h> USRTEXT. */
#define STACK_END_ADDR 0x80000000-(14+14)*PAGE_SIZE /* see #define STACK_END_ADDR 0x80000000-(14+14)*PAGE_SIZE /* see

View File

@ -41,7 +41,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#define BFD_VERSION "1.9" #define BFD_VERSION "1.9"
/* forward declaration */ /* forward declaration */
typedef struct _bfd_struct bfd; typedef struct _bfd bfd;
/* General rules: functions which are boolean return true on success /* General rules: functions which are boolean return true on success
and false on failure (unless they're a predicate). -- bfd.doc */ and false on failure (unless they're a predicate). -- bfd.doc */
@ -165,11 +165,11 @@ typedef int bfd_size_type;
*/ */
typedef struct symbol_cache_entry typedef struct symbol_cache_entry
{ {
struct _bfd_struct *the_bfd; /* Just a way to find out host type */ struct _bfd *the_bfd; /* Just a way to find out host type */
CONST char *name; CONST char *name;
symvalue value; symvalue value;
flagword flags; flagword flags;
struct sec_struct *section; struct sec *section;
PTR udata; /* Target-specific stuff */ PTR udata; /* Target-specific stuff */
} asymbol; } asymbol;
@ -182,7 +182,7 @@ typedef struct symbol_cache_entry
/* This is a type pun with struct ranlib on purpose! */ /* This is a type pun with struct ranlib on purpose! */
typedef struct { typedef struct carsym {
char *name; char *name;
file_ptr file_offset; /* look here to find the file */ file_ptr file_offset; /* look here to find the file */
} carsym; /* to make these you call a carsymogen */ } carsym; /* to make these you call a carsymogen */
@ -195,7 +195,7 @@ typedef struct {
segment origin. This is because we won't necessarily have a symbol segment origin. This is because we won't necessarily have a symbol
which is guaranteed to point to the segment origin. */ which is guaranteed to point to the segment origin. */
typedef enum { typedef enum bfd_reloc_status {
bfd_reloc_ok, bfd_reloc_ok,
bfd_reloc_overflow, bfd_reloc_overflow,
bfd_reloc_outofrange, bfd_reloc_outofrange,
@ -206,7 +206,7 @@ typedef enum {
bfd_reloc_dangerous} bfd_reloc_dangerous}
bfd_reloc_status_enum_type; bfd_reloc_status_enum_type;
typedef CONST struct rint_struct { typedef CONST struct rint {
unsigned int type; unsigned int type;
unsigned int rightshift; unsigned int rightshift;
unsigned int size; unsigned int size;
@ -255,14 +255,14 @@ typedef struct reloc_cache_entry
rawdata_offset address; /* offset in section */ rawdata_offset address; /* offset in section */
bfd_vma addend; /* addend for relocation value */ bfd_vma addend; /* addend for relocation value */
struct sec_struct *section; /* if sym is null this is the section */ struct sec *section; /* if sym is null this is the section */
reloc_howto_type *howto; reloc_howto_type *howto;
} arelent; } arelent;
typedef struct relent_chain_struct { typedef struct relent_chain {
arelent relent; arelent relent;
struct relent_chain_struct *next; struct relent_chain *next;
} arelent_chain; } arelent_chain;
/* Used in generating armaps. Perhaps just a forward definition would do? */ /* Used in generating armaps. Perhaps just a forward definition would do? */
@ -298,10 +298,10 @@ typedef struct lineno_cache_entry {
#define SEC_CONSTRUCTOR 0400 #define SEC_CONSTRUCTOR 0400
#define SEC_HAS_CONTENTS (0x200) #define SEC_HAS_CONTENTS (0x200)
typedef struct sec_struct typedef struct sec
{ {
CONST char *name; CONST char *name;
struct sec_struct *next; struct sec *next;
flagword flags; flagword flags;
bfd_vma vma; bfd_vma vma;
@ -312,7 +312,7 @@ typedef struct sec_struct
an output section, this value will be 0... an output section, this value will be 0...
*/ */
bfd_vma output_offset; bfd_vma output_offset;
struct sec_struct *output_section; struct sec *output_section;
unsigned int alignment_power; /* eg 4 aligns to 2^4*/ unsigned int alignment_power; /* eg 4 aligns to 2^4*/
arelent *relocation; /* for input files */ arelent *relocation; /* for input files */
@ -322,14 +322,14 @@ typedef struct sec_struct
file_ptr filepos; /* File position of section data */ file_ptr filepos; /* File position of section data */
file_ptr rel_filepos; /* File position of relocation info */ file_ptr rel_filepos; /* File position of relocation info */
file_ptr line_filepos; file_ptr line_filepos;
struct user_section_struct *userdata; struct user_section *userdata;
struct lang_output_section_struct *otheruserdata; struct lang_output_section *otheruserdata;
int index; /* Which section is it 0..nth */ int index; /* Which section is it 0..nth */
alent *lineno; alent *lineno;
unsigned int lineno_count; unsigned int lineno_count;
/* When a section is being output, this value changes as more /* When a section is being output, this value changes as more
* linenumbers are written out */ linenumbers are written out */
file_ptr moving_line_filepos; file_ptr moving_line_filepos;
/* what the section number is in the target world */ /* what the section number is in the target world */
@ -337,8 +337,7 @@ typedef struct sec_struct
PTR used_by_bfd; PTR used_by_bfd;
/* If this is a constructor section then here is a list of relents /* If this is a constructor section then here is a list of relents */
*/
arelent_chain *constructor_chain; arelent_chain *constructor_chain;
} asection; } asection;
@ -347,7 +346,7 @@ typedef struct sec_struct
typedef struct sec_struct *sec_ptr; typedef struct sec *sec_ptr;
#define bfd_section_name(bfd, ptr) ((ptr)->name) #define bfd_section_name(bfd, ptr) ((ptr)->name)
#define bfd_section_size(bfd, ptr) ((ptr)->size) #define bfd_section_size(bfd, ptr) ((ptr)->size)
@ -374,7 +373,7 @@ typedef enum {no_error = 0, system_call_error, invalid_target,
extern bfd_ec bfd_error; extern bfd_ec bfd_error;
typedef struct { typedef struct bfd_error_vector {
PROTO(void,(* nonrepresentable_section ),(CONST bfd *CONST abfd, PROTO(void,(* nonrepresentable_section ),(CONST bfd *CONST abfd,
CONST char *CONST name)); CONST char *CONST name));
} bfd_error_vector_type; } bfd_error_vector_type;
@ -493,9 +492,8 @@ typedef struct bfd_target
SDEF (asymbol *, _bfd_make_empty_symbol, (bfd *)); SDEF (asymbol *, _bfd_make_empty_symbol, (bfd *));
SDEF (void, _bfd_print_symbol, (bfd *, PTR, asymbol *, SDEF (void, _bfd_print_symbol, (bfd *, PTR, asymbol *,
bfd_print_symbol_enum_type)); bfd_print_symbol_enum_type));
SDEF(alent *, _get_lineno, (bfd *, asymbol *)); SDEF (alent *, _get_lineno, (bfd *, asymbol *));
/* This should perhaps be format-dependent, I don't know yet. -gnu */
SDEF (boolean, _bfd_set_arch_mach, (bfd *, enum bfd_architecture, SDEF (boolean, _bfd_set_arch_mach, (bfd *, enum bfd_architecture,
unsigned long)); unsigned long));
@ -584,7 +582,7 @@ extern CONST short _bfd_host_big_endian;
are "FILE *" and "time_t". If these had been declared as structs are "FILE *" and "time_t". If these had been declared as structs
rather than typedefs, we wouldn't have this problem. */ rather than typedefs, we wouldn't have this problem. */
struct _bfd_struct struct _bfd
{ {
CONST char *filename; /* could be null; filename user opened with */ CONST char *filename; /* could be null; filename user opened with */
@ -592,8 +590,8 @@ struct _bfd_struct
char *iostream; /* stdio FILE *, unless an archive element */ char *iostream; /* stdio FILE *, unless an archive element */
boolean cacheable; /* iostream can be closed if desired */ boolean cacheable; /* iostream can be closed if desired */
struct _bfd_struct *lru_prev; /* Used for file caching */ struct _bfd *lru_prev; /* Used for file caching */
struct _bfd_struct *lru_next; /* Used for file caching */ struct _bfd *lru_next; /* Used for file caching */
file_ptr where; /* Where the file was when closed */ file_ptr where; /* Where the file was when closed */
boolean opened_once; boolean opened_once;
boolean mtime_set; /* Flag indicating mtime is available */ boolean mtime_set; /* Flag indicating mtime is available */
@ -627,9 +625,9 @@ to 0 for non archive files
/* Archive stuff. strictly speaking we don't need all three bfd* vars, /* Archive stuff. strictly speaking we don't need all three bfd* vars,
but doing so would allow recursive archives! */ but doing so would allow recursive archives! */
PTR arelt_data; /* needed if this came from an archive */ PTR arelt_data; /* needed if this came from an archive */
struct _bfd_struct *my_archive; /* if this is an archive element */ struct _bfd *my_archive; /* if this is an archive element */
struct _bfd_struct *next; /* output chain pointer */ struct _bfd *next; /* output chain pointer */
struct _bfd_struct *archive_head; /* for output archive */ struct _bfd *archive_head; /* for output archive */
boolean has_armap; /* if an arch; has it an armap? */ boolean has_armap; /* if an arch; has it an armap? */
PTR tdata; /* target-specific storage */ PTR tdata; /* target-specific storage */
@ -646,15 +644,8 @@ to 0 for non archive files
struct obstack memory; struct obstack memory;
}; };
PROTO(PTR, bfd_alloc, (bfd *abfd, size_t size)); /* The various callable routines */
PROTO(PTR, bfd_zalloc,(bfd *abfd, size_t size)); PROTO(bfd_size_type, bfd_alloc_size,(bfd *abfd));
PROTO(PTR, bfd_realloc,(bfd *abfd, PTR orig, size_t new));
PROTO(size_t, bfd_alloc_size,(bfd *abfd));
/* FIXME, these are broken! bfd_free references "Y" which is not a parameter.
bfd_release frees the mentioned object AND EVERYTHING AFTER IT IN THE
OBSTACK! -- gnu@cygnus.com */
#define bfd_free(x) (obstack_free(&(x->memory),y))
#define bfd_release(x,y) (obstack_free(&(x->memory),y))
PROTO (char *, bfd_printable_arch_mach,(enum bfd_architecture, unsigned long)); PROTO (char *, bfd_printable_arch_mach,(enum bfd_architecture, unsigned long));
PROTO (char *, bfd_format_string, (bfd_format format)); PROTO (char *, bfd_format_string, (bfd_format format));

View File

@ -1,5 +1,4 @@
/* $Id$ /*
*
* This file is a modified version of 'a.out.h'. It is to be used in all * This file is a modified version of 'a.out.h'. It is to be used in all
* GNU tools modified to support the i80960 (or tools that operate on * GNU tools modified to support the i80960 (or tools that operate on
* object files created by such tools). * object files created by such tools).

View File

@ -16,18 +16,12 @@ You should have received a copy of the GNU General Public License
along with BFD; see the file COPYING. If not, write to along with BFD; see the file COPYING. If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* $Id$ */
/* All the system include files boiled into one place. /* All the system include files boiled into one place.
One day, everyone will have the same set of include files.. One day, everyone will have the same set of include files..
This is ugly, but if you can think of a better way of doing this, This is ugly, but if you can think of a better way of doing this,
tell me. steve@cygnus.com tell me. --steve@cygnus.com */
*/
#ifndef _SYSDEP_H #ifndef _SYSDEP_H
#define _SYSDEP_H #define _SYSDEP_H