diff options
author | jdp <jdp@FreeBSD.org> | 1998-09-06 22:57:45 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 1998-09-06 22:57:45 +0000 |
commit | effee09f856ecc81feb91290459a2cda49d20287 (patch) | |
tree | 5c46ac1ee102130859f788aeb927e8086985cfe7 /contrib/binutils/bfd/libcoff.h | |
parent | 31cb88078db5bdc51eb451c5a61e31a426fb8ae6 (diff) | |
download | FreeBSD-src-effee09f856ecc81feb91290459a2cda49d20287.zip FreeBSD-src-effee09f856ecc81feb91290459a2cda49d20287.tar.gz |
Import GNU binutils-2.9.1. This will break things for a few minutes
until I've made the commits to resolve the conflicts.
Submitted by: Doug Rabson <dfr>
Diffstat (limited to 'contrib/binutils/bfd/libcoff.h')
-rw-r--r-- | contrib/binutils/bfd/libcoff.h | 70 |
1 files changed, 46 insertions, 24 deletions
diff --git a/contrib/binutils/bfd/libcoff.h b/contrib/binutils/bfd/libcoff.h index d525cfd..4d83bd4 100644 --- a/contrib/binutils/bfd/libcoff.h +++ b/contrib/binutils/bfd/libcoff.h @@ -1,5 +1,5 @@ /* BFD COFF object file private structure. - Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 1997 + Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. Written by Cygnus Support. @@ -96,6 +96,11 @@ typedef struct coff_tdata /* Used by coff_find_nearest_line. */ PTR line_info; + + /* Copy of some of the f_flags bits in the COFF filehdr structure, + used by ARM code. */ + flagword flags; + } coff_data_type; /* Tdata for pe image files. */ @@ -417,6 +422,10 @@ struct coff_final_link_info bfd *output_bfd; /* Used to indicate failure in traversal routine. */ boolean failed; + /* If doing "task linking" set only during the time when we want the + global symbol writer to convert the storage class of defined global + symbols from global to static. */ + boolean global_to_static; /* Hash table for long symbol names. */ struct bfd_strtab_hash *strtab; /* When doing a relocateable link, an array of information kept for @@ -479,6 +488,8 @@ extern struct bfd_hash_entry *_bfd_coff_debug_merge_hash_newfunc PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); extern boolean _bfd_coff_write_global_sym PARAMS ((struct coff_link_hash_entry *, PTR)); +extern boolean _bfd_coff_write_task_globals + PARAMS ((struct coff_link_hash_entry *, PTR)); extern boolean _bfd_coff_link_input_bfd PARAMS ((struct coff_final_link_info *, bfd *)); extern boolean _bfd_coff_reloc_link_order @@ -592,43 +603,43 @@ typedef struct PTR in)); unsigned int (*_bfd_coff_swap_aux_out) PARAMS (( - bfd *abfd, - PTR in, - int type, - int class, + bfd *abfd, + PTR in, + int type, + int class, int indaux, int numaux, - PTR ext)); + PTR ext)); unsigned int (*_bfd_coff_swap_sym_out) PARAMS (( bfd *abfd, - PTR in, - PTR ext)); + PTR in, + PTR ext)); unsigned int (*_bfd_coff_swap_lineno_out) PARAMS (( - bfd *abfd, - PTR in, - PTR ext)); + bfd *abfd, + PTR in, + PTR ext)); unsigned int (*_bfd_coff_swap_reloc_out) PARAMS (( - bfd *abfd, - PTR src, - PTR dst)); + bfd *abfd, + PTR src, + PTR dst)); unsigned int (*_bfd_coff_swap_filehdr_out) PARAMS (( - bfd *abfd, - PTR in, - PTR out)); + bfd *abfd, + PTR in, + PTR out)); unsigned int (*_bfd_coff_swap_aouthdr_out) PARAMS (( - bfd *abfd, - PTR in, - PTR out)); + bfd *abfd, + PTR in, + PTR out)); unsigned int (*_bfd_coff_swap_scnhdr_out) PARAMS (( - bfd *abfd, - PTR in, - PTR out)); + bfd *abfd, + PTR in, + PTR out)); unsigned int _bfd_filhsz; unsigned int _bfd_aoutsz; @@ -749,6 +760,12 @@ typedef struct boolean collect, struct bfd_link_hash_entry **hashp)); + boolean (*_bfd_coff_link_output_has_begun) PARAMS (( + bfd * abfd )); + boolean (*_bfd_coff_final_link_postscript) PARAMS (( + bfd * abfd, + struct coff_final_link_info * pfinfo)); + } bfd_coff_backend_data; #define coff_backend_info(abfd) ((bfd_coff_backend_data *) (abfd)->xvec->backend_data) @@ -794,7 +811,7 @@ typedef struct #define bfd_coff_long_section_names(abfd) \ (coff_backend_info (abfd)->_bfd_coff_long_section_names) #define bfd_coff_default_section_alignment_power(abfd) \ - (coff_backend_info (abfd)->_bfd_coff_default_section_alignment_power) + (coff_backend_info (abfd)->_bfd_coff_default_section_alignment_power) #define bfd_coff_swap_filehdr_in(abfd, i,o) \ ((coff_backend_info (abfd)->_bfd_coff_swap_filehdr_in) (abfd, i, o)) @@ -863,3 +880,8 @@ typedef struct ((coff_backend_info (abfd)->_bfd_coff_link_add_one_symbol)\ (info, abfd, name, flags, section, value, string, cp, coll, hashp)) +#define bfd_coff_link_output_has_begun(a) \ + ((coff_backend_info (a)->_bfd_coff_link_output_has_begun) (a)) +#define bfd_coff_final_link_postscript(a,p) \ + ((coff_backend_info (a)->_bfd_coff_final_link_postscript) (a,p)) + |