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:
parent
aec4cb918e
commit
9c6a9c925f
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
@ -495,7 +494,6 @@ typedef struct bfd_target
|
||||||
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));
|
||||||
|
|
||||||
|
|
|
@ -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).
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue