diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-10-09 21:19:53 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-10-09 21:19:53 +0000 |
commit | 5f710a3a892886e442bc24a5a05a56550693abdc (patch) | |
tree | 82c4e30223b551f7a92b9a402477fe873cf98065 /bfd/libcoff-in.h | |
parent | 531f86b422809ddca80d367aeb8cf4154401f534 (diff) | |
download | gdb-5f710a3a892886e442bc24a5a05a56550693abdc.zip gdb-5f710a3a892886e442bc24a5a05a56550693abdc.tar.gz gdb-5f710a3a892886e442bc24a5a05a56550693abdc.tar.bz2 |
* libcoff-in.h (struct xcoff_tdata): Define.
(xcoff_data): Define.
* bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
* bfd-in2.h, libcoff.h: Rebuild.
* coff-rs6000.c (xcoff_mkobject): New static function.
(coff_mkobject): Define.
(xcoff_copy_private_bfd_data): New static function.
(coff_bfd_copy_private_bfd_data): Define.
(rs6000coff_howto_table): Change R_TOC complain_on_overflow from
signed to bitfield.
(rs6000coff_vec): Add DYNAMIC to object_flags.
* coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
.loader sections specially.
(coff_new_section_hook): If RS6000COFF_C, get the .text and .data
section alignment from the XCOFF tdata information.
(coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
F_SHROBJ, and copy the extra a.out header information into the
XCOFF tdata structure.
(coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
F_DYNLOAD and the extra a.out header information.
(coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
C_HIDEXT symbol with attached csect information.
* coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
in the o_maxdata field.
(coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
* coffgen.c (coff_renumber_symbols): Don't move any symbol to the
end if BSF_NOT_AT_END is set.
Diffstat (limited to 'bfd/libcoff-in.h')
-rw-r--r-- | bfd/libcoff-in.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/bfd/libcoff-in.h b/bfd/libcoff-in.h index bb690bb..f8d9d16 100644 --- a/bfd/libcoff-in.h +++ b/bfd/libcoff-in.h @@ -97,6 +97,33 @@ typedef struct pe_tdata #define pe_data(bfd) ((bfd)->tdata.pe_obj_data) +/* Tdata for XCOFF files. */ + +struct xcoff_tdata +{ + /* Basic COFF information. */ + coff_data_type coff; + + /* TOC value. */ + bfd_vma toc; + + /* .text alignment from optional header. */ + int text_align_power; + + /* .data alignment from optional header. */ + int data_align_power; + + /* modtype from optional header. */ + short modtype; + + /* maxdata from optional header. */ + bfd_size_type maxdata; + + /* maxstack from optional header. */ + bfd_size_type maxstack; +}; + +#define xcoff_data(abfd) ((abfd)->tdata.xcoff_obj_data) /* We take the address of the first element of a asymbol to ensure that the * macro is only ever applied to an asymbol. */ @@ -115,6 +142,11 @@ struct coff_section_tdata bfd_byte *contents; /* If this is true, the contents entry may not be freed. */ boolean keep_contents; + /* Information cached by coff_find_nearest_line. */ + bfd_vma offset; + unsigned int i; + const char *function; + int line_base; /* Available for individual backends. */ PTR tdata; }; |