aboutsummaryrefslogtreecommitdiff
path: root/gas/config
AgeCommit message (Collapse)AuthorFilesLines
1993-07-27 * config/tc-mips.c (mips_optimize): New static variable.Ian Lance Taylor1-3/+49
(append_insn): If ! mips_optimize, don't swap branches. (md_parse_option): If -Ox, set mips_optimize accordingly.
1993-07-23Fix stupid bugs inserted during expression conversion.Ian Lance Taylor2-2/+4
1993-07-23 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find aIan Lance Taylor1-0/+2
pseudo-op with a poc_handler field of NULL, ignore it and treat it as an instruction instead. * config/tc-m88k.c (md_pseudo_table): Add "set" with a NULL poc_handler field.
1993-07-22 * config/tc-h8500.c (md_begin): Use a local variable whenIan Lance Taylor1-31/+34
initializing md_relax_table to avoid warnings about modifying a supposedly const data structure.
1993-07-22Fixed typos.Ian Lance Taylor1-2/+2
1993-07-21 * config/obj-aout.c: Include aout/aout64.h.Ian Lance Taylor1-2/+15
(obj_aout_frob_symbol): Set BSF_DEBUGGING for a constructor symbol, so that BFD doesn't tamper with the type.
1993-07-21 * read.c (read_a_source_file): If NO_PSEUDO_DOT is defined, lookIan Lance Taylor3-36/+20
up opcodes as pseudo-ops even if they don't start with '.'. * config/tc-m88k.h (NO_PSEUDO_DOT): Define. * config/tc-m88k.c (md_assemble): Removed special pseudo-op handling. (md_apply_fix): Set fx_offset to the upper 16 bits of the reloc. Output the low 16 bits for RELOC_HI16, not the high 16 bits. * config/obj-coffbfd.c (do_relocs_for): If TC_M88K, set the r_offset field of the reloc to the fixup offset. (fixup_segments): If TC_M88K, don't warn about fixup overflows. * doc/as.texinfo: Minor updates.
1993-07-21 * Extensive changes to permit symbols to contain any expressionIan Lance Taylor14-476/+342
type and to delay the computation of the expression until the value is actually needed. This permits setting symbols to values calculated based on object code size. Expressions were changed to no longer be in a section, to stop the overloading of segment and expression type that previously occurred. * as.c (big_section, pass1_section, diff_section, absent_section): Removed. (expr_section): Added (used for dummy symbols which hold intermediate expression values). (perform_an_assembly_pass): Create expr_section, do not create the sections now removed. * as.h (segT): Removed SEG_ABSENT, SEG_PASS1, SEG_BIG, and SEG_DIFFERENCE. Added SEG_EXPR. (SEG_NORMAL): Corresponding changes. * subsegs.c (seg_name, subsegs_begin): Changed accordingly. * write.c (write_object_file): Ditto. * config/obj-aout.c (seg_N_TYPE): Ditto. * config/obj-bout.c (seg_N_TYPE): Ditto. * config/obj-coff.c (seg_N_TYPE): Ditto. * config/obj-coffbfd.c (seg_N_TYPE): Ditto. * config/obj-vms.c (seg_N_TYPE): Ditto. * expr.h (operatorT): Moved in from expr.c, added some values. (expressionS): Added X_op field, removed X_seg field; renamed X_subtract_symbol to X_op_symbol. * expr.c: Extensive changes to assign expression types rather than sections and to simplify the parsing. * write.c (fix_new_internal): New static function. (fix_new): Removed sub_symbol argument. (fix_new_exp): New function, takes expression argument. * write.h: Prototype changes for fix_new and fix_new_exp. * cond.c (s_if): Changed accordingly. * read.c (s_lsym, pseudo_set, emit_expr, parse_bitfield_cons, parse_repeat_cons, get_segmented_expression, get_known_segmented_expression, get_absolute_expression): Ditto. * symbols.c (resolve_symbol_value, S_GET_VALUE, S_SET_VALUE): Ditto. * write.c (write_object_file): Ditto. * config/obj-coff.c (obj_coff_def, obj_coff_val): Ditto. * config/obj-coffbfd.c (obj_coff_def, obj_coff_val, obj_coff_endef, yank_symbols): Ditto. * config/obj-elf.c (obj_elf_stab_generic, obj_elf_size): Ditto. * config/tc-a29k.c (md_assemble, parse_operand, machine_ip, print_insn, md_operand): Ditto. * config/tc-h8300.c (parse_exp, colonmod24, check_operand, do_a_fix_imm, build_bytes): Ditto. * config/tc-h8500.c (parse_exp, skip_colonthing, parse_reglist, get_specific, check, insert, md_convert_frag): Ditto. * config/tc-hppa.c (the_insn, fix_new_hppa, cons_fix_new_hppa, md_assemble, pa_ip, getExpression, getAbsoluteExpression, evaluateAbsolute, pa_build_unwind_subspace, pa_entry, process_exit): Ditto. * config/tc-hppa.h (STAB_FIXUP, is_DP_relative, is_PC_relative, is_complex): Ditto. * config/tc-i386.c (pe, md_assemble, i386_operand, md_estimate_size_before_relax, md_create_long_jump): Ditto. * config/tc-i860.c (md_assemble, getExpression, print_insn): Ditto. * config/tc-i960.c (parse_expr, subs, segs, md_convert_frag, get_cdisp, mem_fmt, parse_ldconst, relax_cobr, s_sysproc, i960_handle_align): Ditto. * config/tc-m68k.c (struct m68k_exp, struct m68k_it, seg, op, subs, add_fix, isvar, m68k_ip, md_assemble, md_convert_frag_1, md_estimate_size_before_relax, md_create_long_jump, get_num): Ditto. * config/tc-m88k.c (md_assemble, get_imm16, get_pcr, md_create_short_jump, md_create_long_jump): Ditto. * config/tc-mips.c (md_assemble, append_insn, gp_reference, macro_build, macro, my_getExpression): Ditto. Also removed get_optional_absolute_expression; just use get_absolute_expression instead. * config/tc-ns32k.c (get_addr_mode, evaluate_expr, convert_iif, fix_new_ns32k, fix_new_ns32k_exp, cons_fix_new_ns32k): Ditto. * config/tc-ns32k.h (fix_new_ns32k prototype): Ditto. * config/tc-sh.c (parse_exp, check, insert, md_convert_frag): Ditto. * config/tc-sparc.c (md_assemble, sparc_ip, getExpression, print_insn): Ditto. * config/tc-tahoe.c (struct top, md_estimate_size_before_relax, tip_op, md_assemble): Ditto. * config/tc-vax.c (seg_of_operand, md_assemble, md_estimate_size_before_relax, md_create_long_jump): Ditto. * config/tc-z8k.c (parse_exp, check_operand, newfix): Ditto.
1993-07-19forgot to check this in long ago...Ken Raeburn1-0/+55
1993-07-19(obj_elf_previous): New function.Ken Raeburn1-2/+46
(previous_section, previous_subsection): New vars. (obj_elf_section): Save current place in case DWARF code wants us to pop back to it. Handle unquoted section name as well as quoted section name. Don't crash on invalid strings. (obj_pseudo_table): Handle new pseudos "previous", "2byte", and "4byte".
1993-07-19 * config/tc-m68k.c (m68k_ip_op): Don't decrement strend whenIan Lance Taylor1-2/+0
calculating opP->isiz; this permits the expression size to be determined as well, later on. Fixes PR 2911.
1993-07-19 * expr.c (clean_up_expression): Don't cancel the subtraction ofIan Lance Taylor1-1/+4
undefined symbols. Fixes PR 2997. * read.c (s_data), config/obj-coffbfd.c (obj_coff_data): If -R, switch to text section rather than data section. Fixes PR 2971.
1993-07-19fix net-equip pr 2975: tm-m68k.c(m68k_ip): adjust for pc-rel offset before ↵Ken Raeburn1-2/+2
using value, not after
1993-07-16 * config/tc-hppa.h (tc_frob_label): Define.Ian Lance Taylor2-123/+560
* config/tc-mips.c: Many changes to support simple assembler optimization. (insn_label, prev_insn, prev_prev_insn, dummy_opcode, prev_insn_valid, prev_insn_frag, prev_insn_where, prev_insn_fixp, prev_insn_is_delay_slot): New static variables. (insn_uses_reg, mips_no_prev_insn, mips_emit_delays, mips_align, s_stringer, s_mips_space): New static functions. (mips_define_label): New global function. (md_pseudo_table): For "ascii", "asciz", "asciiz", call s_stringer. Changed argument to float_cons from 0 or 1 to 'f' or 'd'. For "space" call s_mips_space. (md_begin): Call mips_no_prev_insn. (append_insn): Only insert necessary NOP instructions. (macro): Call mips_emit_delays before setting mips_noreorder. Increment and decrement mips_noreorder rather than using save_reorder_condition. Don't bother to use noreorder in M_L_DOB and M_L_DAB, since append_insn will not insert a NOP. (md_atof): Handle floating point numbers correctly for both big and little endian targets. (s_align, s_cons): Call mips_align rather than frag_align. (s_change_seg, s_cons): Call mips_emit_delays. (s_float_cons): Let float_cons do the work. (s_mipsset): Call mips_emit_delays when setting noreorder. * config/tc-mips.h (tc_frob_label): Define to be mips_define_label.
1993-07-15 * config/tc-m88k.c (omagic): Removed unused variable.Ian Lance Taylor1-3/+0
1993-07-15 * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,Ian Lance Taylor1-0/+11
with a warning.
1993-07-15 * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjustIan Lance Taylor2-1/+14
by md_pcrel_from if we are relocating against a symbol (we still need md_pcrel_from for a PC relative relocation within the same file). * config/tc-m88k.c (md_pcrel_from): Corrected return value.
1993-07-15Add m88k-coff target Makefile fragment.Ian Lance Taylor2-0/+3
1993-07-15 * Preliminary support for m88k-coff.Ian Lance Taylor4-13/+209
* 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 Taylor8-106/+553
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 Taylor11-854/+1389
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-07-13cvs core dumps again...Steve Chamberlain1-4/+3
1993-07-13 * config/tc-h8500.c (line_comment_chars): Add hash.Steve Chamberlain1-7/+35
(parse_exp, skip_colonthing, build_bytes): Add support for R_H8500_HIGH16 relocation type.
1993-07-12fix definitions of md_create_long_jump, md_create_short_jump,Mark Eichin11-2135/+10727
md_number_to_chars, and md_section_align to correctly use valueT and addressT
1993-07-12update use of valueT and addressTMark Eichin1-6/+6
1993-07-12config/obj-elf.c (obj_elf_section): Allow `@' to introduce an attribute name.Ken Raeburn1-1/+2
Handle `execinstr' attribute.
1993-07-12 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch ifIan Lance Taylor1-2/+12
there is another alternative for the instruction.
1993-07-09Clean up some of the obvious m88k bitrot.Ian Lance Taylor2-16/+16
It still doesn't actually compile, though.
1993-07-08Oops, not all of the tc-sparc.c change was format-independent.Ken Raeburn1-0/+2
Still handles both syntaxes independent of format.
1993-07-08Thu Jul 8 14:41:43 1993 Mark Eichin (eichin@cygnus.com)Mark Eichin1-86/+93
* config/tc-i960.c (md_create_short_jump, md_create_long_jump, md_number_to_chars, md_section_align): Adjusted to use valueT, addressT, to match tc.h.
1993-07-08config/tc-sparc.c (s_common): Revamp to handle both syntaxes, and not beKen Raeburn1-24/+32
target-specific.
1993-07-07This file was not removed last time. Why??Ian Lance Taylor1-656/+0
1993-07-07 * config/mips-opcode.h: Moved to opcode/mips.h.Ian Lance Taylor6-93/+135
* config/tc-mips.c: Include opcode/mips.h rather than mips-opcode.h. (append_insn): An extra NOP is only needed after instructions which set HI or LO, not after instructions which read it. (macro_build, mips_ip): Support new 'E', 'G' and 'B' arguments. (macro): cfc1 and ctc1 now take "t,G" rather than "t,d". * config/tc-mips.h (struct mips_opcode): Don't define. * config/mips-big.mt, config/mips-lit.mt (TARG_CPU_DEPENDENTS): Set to $(srcdir)/../include/opcode/mips.h. Get the MIPS assembler up to speed with other gas changes: * config/obj-ecoff.c (ecoff_set_vma, ecoff_frob_symbol): Removed; don't change the symbol value. (ecoff_build_symbols, ecoff_build_procs, ecoff_frob_file): Use bfd_asymbol_value rather than S_GET_VALUE to include section vma in symbol value. (ecoff_frob_file): Ignore BSF_SECTION_SYM symbols, since ECOFF doesn't output them. Set the vma of sections. * config/obj-ecoff.h: Don't define obj_frob_symbol. * config/tc-mips.c (tc_gen_reloc): Adjustment by section vma is no longer necessary. (various): use valueT rather than long.
1993-07-07(sparc_ip): Initialize `len' variable to make gcc shut up.Ken Raeburn1-185/+153
(md_create_short_jump, md_create_long_jump, md_number_to_chars, md_section_align): Adjusted for new interface. (s_reserve): Permit use for other than a.out format. (s_common): Handle Solaris-2 version. (s_xword): For numbers, call big_cons. (sparc_ip, md_apply_fix, tc_gen_reloc): Handle some sparc64 reloc types. (md_number_to_chars): Handle 8-byte values.
1993-07-07(md_create_short_jump, md_create_long_jump,Ken Raeburn1-60/+66
md_number_to_chars, md_section_align): Adjusted for new interface.
1993-07-07Change various calls (e.g., to symbol_new, md_number_to_chars) to castKen Raeburn1-798/+412
valueT or addressT arguments to correct types.
1993-07-07(obj_elf_frob_symbol, elf_frob_file, elf_file_symbol): Declare.Ken Raeburn1-0/+72
(elf_symbol): For sparc v9, use 64-bit symbol type.
1993-07-07clean v9 from obj-elf.hKen Raeburn1-1/+7
1993-07-07Define ENV64 for sparc v9.Ken Raeburn1-7/+33
1993-07-07(free): Returns void if __STDC__.Ken Raeburn1-1/+2
1993-07-02fix declsDavid D. Zuhn2-2/+1
1993-06-30 * read.c (cons): Conditionalize parsing of expression. MoveIan Lance Taylor1-1/+3
putting value into object file into separate function. Separate out MRI and WANT_BITFIELDS cases into separate functions. (emit_expr): New function to write data into object file. Conditionalize on TC_CONS_FIX_NEW and TC_CONS_RELOC rather than on processor types. (parse_bitfield_cons): New function to parse bitfield expressions as used by i960 assemblers. Only compiled if BITFIELD_CONS_EXPRESSIONS is defined. (parse_mri_cons): New function to parse MRI style strings. Only compiled if MRI is defined. (parse_repeat_cons): New function to parse repeat counts. Only compiled if REPEAT_CONS_EXPRESSIONS is defined. * read.h (emit_expr): Added declaration of new function. * config/tc-a29k.h (TC_CONS_RELOC): Define to be RELOC_32. * config/tc-h8300.h (TC_CONS_RELOC): Define to be R_RELWORD. * config/tc-hppa.c (parse_cons_expression_hppa): New function to parse a HPPA expression, rather than special case in cons function. (cons_fix_new_hppa): New function to emit an HPPA fixup, rather than special case in emit_expr function. * config/tc-hppa.h (TC_PARSE_CONS_EXPRESSION, TC_CONS_FIX_NEW): Define to use new functions from tc-hppa.c. * config/tc-i960.h (BITFIELD_CONS_EXPRESSIONS): Define. (WANT_BITFIELDS): Removed; now obsolete. * config/tc-mips.h (REPEAT_CONS_EXPRESSIONS): Define. * config/tc-ns32k.c (cons_fix_new_ns32k): New function to emit an NS32K fixup, rather than special case in emit_expr function. * config/tc-ns32k.h (TC_CONS_FIX_NEW): Define to be cons_fix_new_ns32k. Also use PARAMS rather than checking __STDC__. * config/tc-sparc.h (TC_CONS_RELOC): Define to RELOC_32. * write.c (relax_and_size_seg, adjust_reloc_syms, write_contents): Don't core dump if gas has no information about a section.
1993-06-30New files for sparc64 cpu.Ken Raeburn3-1/+8
1993-06-25(tc_gen_reloc): Handle BFD_RELOC_SPARC_WDISP22 relocation.Ken Raeburn1-83/+263
(s_local) [OBJ_ELF]: New function. (md_pseudo_table) [OBJ_ELF]: Call it for "local". (s_common): Rearrange to handle Solaris .common pseudo, which may sometimes use bss space instead of common. (md_parse_option) [OBJ_ELF]: Print version id for -V. Ignore -Q and -s options for now.
1993-06-20Sun Jun 20 02:34:04 1993 Ashley Saulsbury (ans@sics.se)Ken Raeburn1-1/+1
* m88k-opcode.h : fixed tiny tiny mistake - xcr was incorrectly specified, should have both S1 and S2 fields identical If only finding the problem was as fast as fixing the bug !!!!
1993-06-17 * config/obj-coffbfd.c (fill_section): Don't allow fills backwards.Steve Chamberlain1-1/+1
* config/tc-sh (get_specific, md_convert_frag, md_estimate_size_before_relax): Add support for rest of opcodes.
1993-06-10I don't think this file is needed any moreKen Raeburn1-132/+0
1993-06-10patches from tegeKen Raeburn2-237/+516
1993-06-04 * config/h8300.c: Support for H8/300-H opcodes.Steve Chamberlain1-2/+2
* config/obj-coffbfd.c (w_strings): String table length is 4 bytes, no matter what the host int size is.
1993-06-03keep ho-hppabsd.hKen Raeburn1-0/+1