aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-coffbfd.h
AgeCommit message (Collapse)AuthorFilesLines
1994-05-05* config/obj-coff*.*: Merged coffbfd versions into coff versions, with a singleKen Raeburn1-509/+0
"#ifdef BFD_ASSEMBLER" controlling most of it for now. Deleted obj-coffbfd.* files. * configure.in: Always use obj-coff.* for COFF targets.
1994-05-04* obj-coff.h (TARGET_FORMAT) [TC_I960]: Select little endian version.Ken Raeburn1-132/+88
* obj-coffbfd.h (TARGET_FORMAT) [TC_I960]: Ditto. * obj-coff.c (coff_frob_section): Round up the size of every section to a multiple of the alignment, so that BFD doesn't surprise us. Eliminate many simple differences between the two COFF back ends: * obj-coffbfd.c: Removed all uses of DEFUN and DEFUN_VOID. Made minor stylistic changes, deleted some register declarations. (stack_top): Deleted. (symbol_to_chars): Use absolute_section and reg_section instead of the corresponding SEG_* symbols. (obj_coff_endef, tag_find_or_make, fixup_segment): Likewise. (stack typedef, stack_init, stack_delete, stack_push, stack_pop): Moved to just after pseudo-op table. All functions now static. (stack_delete): Removed declaration. (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just after stack functions. * obj-coffbfd.h: Reordered some declarations and macros. (stack_init, stack_delete, stack_push, stack_pop): Don't declare. (stack typedef): Deleted. (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test. (SYM_AUXENT): New macro. (SA_GET_*, SA_SET_*): Define in terms of SYM_AUXENT when feasible. (SF_GET_*, SF_SET_*): Define in terms of SF_GET when feasible. (SA_GET_SYM_TAGNDX, SA_GET_SYM_ENDNDX, SA_SET_SYM_TAGNDX, SA_SET_SYM_ENDNDX, object_headers typedef, data_section_header, text_section_header): Delete non-BFD_HEADERS versions, since we always define that symbol now. * obj-coff.c (stack_top): Deleted. (obj_coff_endef, obj_coff_dim, obj_coff_line, obj_coff_size, obj_coff_scl, obj_coff_tag, obj_coff_type, obj_coff_val): Change argument name from "ignored" to "ignore". (obj_coff_val): Use frag_now_fix. (obj_pseudo_table): Removed IGNORE_DEBUG version, since it doesn't get used. (stack typedef, stack_init, stack_delete, stack_push, stack_pop): Moved to just after pseudo-op table. All functions now static. (tag_init, tag_insert, tag_find_or_make, tag_find): Moved to just after stack functions. * obj-coff.h: Reordered some declarations and macros. Protected against multiple inclusions. (stack_init, stack_delete, stack_push, stack_pop): Don't declare. (stack typedef): Deleted. (SYMBOLS_NEED_BACKPOINTERS): Always undef then define; don't test. (stdoutput): Deleted declaration. (TARGET_FORMAT) [TC_I386]: Don't define if already defined.
1994-03-20* Makefile.in (config-stamp): If `defs' is defined, emit a preprocessorKen Raeburn1-0/+3
directive to create a macro named by this value into config.new; don't explicitly go for BFD_ASSEMBLER. * configure.in: Define `defs', not `BFDDEF'. Set it to MANY_SEGMENTS for any obj-coffbfd target. * config/obj-coffbfd.h (BFD_HEADERS, BFD): Define. * config/i386coff.mt (TDEFINES): Don't define BFD, MANY_SEGMENTS, BFD_HEADERS. (LOCAL_LOADLIBES): Deleted. * config/m68kcoff.mt (TDEFINES): Don't define those macros. * config/m88kcoff.mt (TDEFINES): Ditto. * config/ebmon29k.mt: Deleted. * config/h8300hds.mt: Deleted. * config/ic960coff.mt: Deleted. * config/sparc.mt: Deleted. * config/h8300.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. * config/h8500.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. * config/sh.mt (LOCAL_LOADLIBES, TDEFINES): Deleted. * config/z8k.mt (LOCAL_LOADLIBES): Deleted. (TDEFINES): Don't define the coffbfd macros. * Makefile.in: Insert makefile fragments before OBJS definition. (OBJS): Add $(TE_OBJS).
1994-02-28* configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and gas_targetKen Raeburn1-1/+4
ic960coff. * config/ic960coff.mt: New file. * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h. (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little. * config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll always build little-endian object files. * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or BFD_ASSEMBLER is defined. (mem_fmt): Since COFF doesn't handle callx relocations yet, treat them like normal 32-bit relocations. (md_apply_fix): For callx relocations, store zero. (tc_bout_fix_to_chars): Store symbol idx for all callx relocations, regardless of link-relax setting. (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions. (i960_handle_align) [! OBJ_BOUT]: If link-relax option is selected, print an error message and clear it. * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC, TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP, tc_fix_adjustable): New macros. (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare.
1993-09-28More Lynx support, plus better stabs-in-coff generation.Stan Shebs1-2/+14
1993-09-14Some more gcc lint, and:Ian Lance Taylor1-24/+0
* read.c (change_to_section): Removed. This is now done by subseg_new. (get_stab_string_offset): Rearranged somewhat. Create the section using subseg_new. Store the string index in seg_info, rather than in a static variable. Force the first string to be empty. Use frag_more rather than FRAG_APPEND_1_CHAR. (s_stab_generic): Rewrote. * subsegs.h (segment_info_type): Added stabu union. * subsegs.c (subseg_new): Initialize stab_string_size to 0. * config/obj-aout.c: Don't include aout/stab_gnu.h. (obj_aout_stab, obj_aout_desc): Removed. (obj_pseudo_table): Removed desc and stabX entries. * config/obj-bout.c: Same changes as config/obj-aout.c. * config/obj-bout.h (S_SET_TYPE): Define. (tc_bout_fix_to_chars): Declare. * config/obj-coff.c (obj_coff_stab): Removed. (obj_pseudo_table): Removed desc and stabX entries. * config/obj-coff.h (SEPARATE_STAB_SECTIONS): Define. * config/obj-coffbfd.c (current_stab_symbol): Removed. * config/obj-coffbfd.h (obj_symbol_type): Removed n_strx, n_type, n_other, n_desc and n_value fields. (S_{S,G}ET_{OFFSET,OTHER,TYPE,DESC}): Removed. (MAKE_STAB_SYMBOL): Removed. * config/obj-ecoff.c (obj_ecoff_stab): Renamed to ecoff_stab. Changed arguments and removed parsing code. (obj_pseudo_table): Removed stabX entries. * config/obj-ecoff.h (ecoff_stab): Declare. (OBJ_PROCESS_STAB): Define. * config/obj-elf.c: Don't include aout/stab_gnu.h. (obj_elf_stab, obj_elf_xstab, obj_elf_desc, elf_stab_symbol_string, elf_stab_symbol, obj_elf_stab_generic): Removed. (obj_pseudo_table): Removed desc, stabX and xstabs entries. (obj_elf_version): Use subseg_new, not bfd_make_section. Don't set SEC_LOAD for .note section. (adjust_stab_sections): Get frag pointer from seg_info, rather than looking through frags. * config/obj-elf.h (S_{S,G}ET_{OTHER,TYPE,DESC}): Removed. (SEPARATE_STAB_SECTIONS, INIT_STAB_SECTION, OBJ_PROCESS_STAB): Define. * config/obj-vms.c (obj_aout_stab): Removed. (obj_pseudo_table): Removed stabX entries. * config/obj-vms.h (S_SET_TYPE): Define.
1993-09-13 * subsegs.c: Renamed non-BFD_ASSEMBLER subseg_new to subseg_set.Ian Lance Taylor1-20/+20
Wrote non-BFD_ASSEMBLER subseg_new. Now subseg_new always takes a section name, and subseg_set always takes a segT. Changed all callers as appropriate. * config/obj-coffbfd.c (change_to_section): Renamed to obj_coff_add_segment. Corrected. Made callers use subseg_new. * config/obj-coffbfd.h (obj_segment_name, obj_add_segment): Define. Also some more gcc warning removal.
1993-09-07Changes to support stabs-in-coffStan Shebs1-0/+26
1993-07-15 * Preliminary support for m88k-coff.Ian Lance Taylor1-4/+10
* configure.in (m88k-*-coff*): New target. Use coffbfd and m88kcoff. * config/m88kcoff.mt: New file. * read.c (lex_type): New macro LEX_AT to set lex type of '@'. (pseudo_set): Handle difference of symbols in different fragments by saving the entire expression as the value of the symbol. * symbols.c (resolve_symbol_value): Resolve difference expressions. * config/obj-coffbfd.c (obj_pseudo_table): If TC_M88K, accept "sdef" as a synonym for "def". * config/obj-coffbfd.h: If TC_M88K, include coff/m88k.h and set TARGET_FORMAT. (S_IS_LOCAL): Any symbol which includes \001 in the name is local. * config/tc-m88k.c, config/tc-m88k.h: Numerous changes to bring m88k port up to date, and to add COFF support.
1993-07-14 * Removed sy_forward and replaced it with an undefined expressionIan Lance Taylor1-0/+6
as the value of a symbol. * struc-symbol.h (struct symbol): Removed sy_forward field. Added sy_resolved and sy_resolving single bit fields. * symbols.c (symbol_new): Don't initialize sy_forward field. (resolve_symbol_value): New function to adjust symbol value by fragment address, using recursion to resolve forward symbols. * symbols.h: Added prototype for new function. * read.c (pseudo_set): Set symbolP->sy_value to an undefined expression rather than setting symbolP->sy_forward. * write.c (write_object_file): Use resolve_symbol_value on symbols, keeping the common case (the old behaviour) inline. * config/obj-aout.c (obj_aout_frob_symbol): Removed sy_forward handling (subsumed by write.c change). * config/obj-coff.c, config/obj-coffbfd.c (obj_coff_val): Set sy_value rather than sy_forward. * config/obj-coffbfd.c (obj_coff_endef, yank_symbols): Check expression segment rather than sy_forward. (yank_symbols): Use resolve_symbol_value. (crawl_symbols): Removed extra pass over symbols. * config/obj-aout.c, config/obj-bout.c, config/obj-coff.c, config/obj-vms.c (obj_crawl_symbol_chain): Removed extra pass over symbols which handled sy_forward; use resolve_symbol_value instead. * config/obj-coff.h, config/obj-coffbfd.h (obj_frob_forward_symbol): Define. * config/obj-elf.c (obj_elf_stab_generic): Check expression segment rather than sy_forward. * config/obj-vms.c (VMS_Check_For_Main): Don't initialize sy_forward; do initialize sy_resolved and sy_resolving. * config/tc-hppa.h (STAB_FIXUP): Use sy_value, not sy_forward.
1993-07-14 * Changes to keep a full expression as the value of a symbol, notIan Lance Taylor1-7/+5
just a longword: * struc-symbol.h: New field sy_value. * as.h: Include expr.h before struc-symbol.h. * expr.h: Use struct symbol rather than symbolS. * symbols.c (S_GET_VALUE, S_SET_VALUE): Rewrote to retrieve value of sy_value field; compile unconditionally, not just if BFD_ASSEMBLER. * symbols.h: Compile S_{SG}ET_VALUE prototypes unconditionally. * write.c (write_object_file): Set BFD symbol value to gas symbol value. * config/obj-aout.h, config/obj-bout.h, config/obj-coff.h, config/obj-coffbfd.h, config/obj-generic.h, config/obj-vms.h (S_GET_VALUE, S_SET_VALUE): Removed macro definitions. * config/obj-ieee.c (S_GET_VALUE, S_SET_VALUE): Removed. * config/obj-coff.h, obj-coffbfd.h: Rewrote several macros to use S_GET_VALUE rather than ost_entry.n_value. * config/obj-aout.c (obj_symbol_to_chars), config/obj-bout.c (obj_symbol_to_chars), config/obj-coff.c (obj_symbol_to_chars), config/obj-coffbfd.c (symbol_to_chars): Get value to write out using S_GET_VALUE--don't assume it is already set. * config/obj-ieee.c (do_symbols): Set BFD symbol value to gas symbol value. * config/obj-vms.c (various): Don't assign directly to S_GET_VALUE; use S_SET_VALUE instead.
1993-04-27Support for Hitachi SHSteve Chamberlain1-0/+5
1993-03-29 * config/obj-coffbfd.c (do_relocs_for): Fix bug where nrelocsSteve Chamberlain1-1/+1
wasn't being stored into scnhdr. * config/obj-coffbfd.h: Add prototype of s_get_segment. * read.c (TC_START_LABEL): Default definition. (read_a_source_file): Use TC_START_LABEL macro to work out if a label has been seen.
1993-02-04 * config/{h8500.mt, tc-h8500.c, tc-h8500.h, obj-coffbfd.c,Steve Chamberlain1-0/+5
obj-coffbfd.h}: support for the H8/500
1993-01-04delete decls of segment_name, seg_nameKen Raeburn1-8/+0
1993-01-01Replace T in TC_H8300Steve Chamberlain1-1/+1
1992-12-30A bunch of changes to COFF support. See the ChangeLog.Ian Lance Taylor1-1/+3
1992-12-15lintsSteve Chamberlain1-47/+13
1992-11-23Ran "indent", for GNU coding style; some code & comments still need fixup.Ken Raeburn1-96/+108
Removed some unneeded files. obj-coff.c (obj_coff_endef): Use as_warn, not fprintf. tc-m68k.c (md_assemble): 68000+68881 is okay -- could be emulating.
1992-09-14Sun Sep 13 20:29:39 1992 Ian Lance Taylor (ian@cygnus.com)Ian Lance Taylor1-0/+1
* obj-coffbfd.h: define WARN_SIGNED_OVERFLOW_WORD. obj-coffbfd.c (fixup_segment): check for signed .word overflow if WARN_SIGNED_OVERFLOW_WORD.
1992-09-11Support for 386 coffSteve Chamberlain1-0/+3
1992-09-09Wed Sep 9 11:10:24 1992 Ian Lance Taylor (ian@cygnus.com)Ian Lance Taylor1-1/+6
* tc-m68k.c (m68k_ip, m68k_ip_op, get_num, try_moto_index): merge Motorola and MIT syntax; gas can now assemble either type of file. tc-m68kmote.c, tc-m68kmote.h: removed now superfluous files. From Steve Chamberlain: m68kcoff.mt: for m68k COFF. obj-coffbfd.c: (fixup_mdeps) added (size_section) removed bad sanity check (fill_section) added rs_machine_dependent case (write_object_file) call fixup_mdeps (fixup_segment) set fx_subsy to 0. obj-coffbfd.h: define WORKING_DOT_WORD (too hard to support) and handle m68k. tc-m68k.c, config/tc-m68k.h: added m68k COFF support and Motorala pseudo ops.
1992-08-25Support for the Z8kSteve Chamberlain1-2/+4
1992-02-22 * app.c: MRI compatibility - allow single quote to start a string.Steve Chamberlain1-0/+14
* as.c: fix typo recently introduced. * as.h : Don't include aout/reloc.h - it's not right for COFF! * expr.c: Much rewriting, to accomodate MRI syntax for expressions. Also easier to read now. * listing.c: Put back defuns * read.c: modified to accept MRI syntax, put back listing pseudo ops so that an assembler built with NO_LISTING ignores list ops rather than pukes. * write.c, write.h: fixs - only keep a reloc type in a fix if the target machine is a SPARC or a 29K. * config/obj-aout.c: added s_sect pseudo op * config/obj-coffbfd.c: lints, set the filehdr flags right and fill in the timestamp. * config/obj-coffbfd.h: Since we don't include aout/reloc.h anymore, define all the relocs which the tc-<x> bit will use so we can translate from them to the coff types. * config/tc-a29k.c: reloc_type isn't ane enum any more * config/tc-m68k.c: Added NO_RELOC definition. Now compiles for sparc aout, 68k aout (MRI and MIT syntax), 29k coff. So far works as replacement for sparc and 68k /bin/as.
1992-02-13All files over ~5 lines get copylefted. All copylefted files getK. Richard Pixley1-3/+4
copylefted 1992.
1992-02-13force all files to end in "/* end of filename"K. Richard Pixley1-1/+1
1992-02-13remove all rcs keywordsK. Richard Pixley1-2/+0
1992-02-13White space and comments only. The devo tree prior to this delta isK. Richard Pixley1-64/+65
tagged as "vanilla" for your convenience. There are also some comment changes.
1992-01-28obj-coff* now copes with C mingled listingsSteve Chamberlain1-0/+3
tc-h8300.c: better error messages
1991-12-12 * config/obj-coffbfd.c: lint, don't fixup relocs if H8300, useSteve Chamberlain1-1/+2
tc_reloc_mangle to prepare relocation if one available * config/tc-h8300.h: added tc_reloc_mangle routine
1991-12-12Initial revisionSteve Chamberlain1-0/+512