aboutsummaryrefslogtreecommitdiff
path: root/gas
AgeCommit message (Collapse)AuthorFilesLines
1993-07-28 * config/tc-m68k.c (m68k_ip): If we have a normal constant when weIan Lance Taylor1-0/+6
expect a bignum, turn it into a bignum. Output extra zeroes before a short bignum, rather than after.
1993-07-27symbols.c: Use DEBUG_SYMS instead of DEBUG.Ken Raeburn1-0/+7
1993-07-27mips_optimize is also affected by -g.Ian Lance Taylor1-2/+3
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-27 * config/tc-mips.c (mips_optimize): New static variable.Ian Lance Taylor1-0/+6
(append_insn): If ! mips_optimize, don't swap branches. (md_parse_option): If -Ox, set mips_optimize accordingly.
1993-07-27 * Makefile.in (clean): if testsuite does not exist, then skip it.K. Richard Pixley1-0/+14
1993-07-23Fix stupid bugs inserted during expression conversion.Ian Lance Taylor2-2/+4
1993-07-23obj-elf.c, tc-sparc.c, symbols.c changesKen Raeburn1-0/+13
1993-07-23 * write.c (fix_new_exp): Handle a O_uminus expression.Ian Lance Taylor1-0/+2
1993-07-23 * expr.c (expr): Don't let absolute_section overrideIan Lance Taylor1-0/+3
undefined_section for the return value.
1993-07-23 * read.c (read_a_source_file): In NO_PSEUDO_DOT case, if we find aIan Lance Taylor3-0/+10
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 Taylor2-31/+40
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-22 * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLERBrendan Kehoe1-0/+5
is defined.
1993-07-22Don't use #ifdef inside macro arguments.Ian Lance Taylor1-4/+6
1993-07-22 * configure.in (case ${host}): Map *-*-sysv4* to gas_host=sysv.Fred Fish1-0/+13
* configure.in (case ${generic_target}): Add i[34]86-*-sysv4* case to set obj_format=elf. Must go before i386-*-sysv* case that sets obj_format=coffbsd. Add *-*-sysv4* to *-*-elf and *-*-solaris case, and move to before *-sysv* case that wants to set obj_format to coff. * config/tc-i386.c (i386_operand): Change all 'exp.X_op' to 'exp->X_op'. * config/tc-i386.c (md_apply_fix): Fix valp to be 'valueT *' for BFD_ASSEMBLER case.
1993-07-21 * config/obj-aout.c: Include aout/aout64.h.Ian Lance Taylor2-2/+19
(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 Taylor5-39/+46
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 Taylor19-1158/+1001
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-20add i386-lynx supportDavid D. Zuhn2-1/+5
1993-07-19various changesKen Raeburn1-0/+26
1993-07-19(write_relocs): New function, split off from write_contents. Use memsetKen Raeburn1-4/+23
instead of bzero. (write_object_file): Apply write_relocs to each section before applying write_contents.
1993-07-19(read_begin): Call obstack_begin with values closer to 1K multiples.Ken Raeburn1-6/+8
(read_a_source_file, big_cons, float_cons): Use memcpy instead of bcopy.
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 Taylor2-2/+4
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 Taylor4-3/+24
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 Raeburn2-2/+8
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-16 * read.c (float_cons): Simplified parsing logic. IfIan Lance Taylor3-26/+72
REPEAT_CONS_EXPRESSIONS is defined, accept a repeat count. * symbols.c (colon): Rather than a special case for TC_HPPA, use new macro tc_frob_label.
1993-07-16 * config/obj-ecoff.c (ecoff_build_symbols, ecoff_build_procs,Ian Lance Taylor1-0/+7
ecoff_frob_files): Consistently use S_GET_VALUE rather than bfd_asymbol_value. Warn if taking difference of symbols in different segments.
1993-07-15 * config/tc-m88k.c (omagic): Removed unused variable.Ian Lance Taylor2-3/+1
1993-07-15 * config/obj-ecoff.c (ecoff_frob_file): Discard all open scopes,Ian Lance Taylor2-0/+14
with a warning.
1993-07-15 * config/obj-coffbfd.c (fixup_segment): If TC_M88K, don't adjustIan Lance Taylor3-1/+20
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 Taylor8-19/+252
* 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 Taylor12-113/+656
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 Taylor18-880/+1460
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-14* configure.in: Make sparc64-*-aout* use bfd gas.David Edelsohn1-0/+4
1993-07-14* configure.in: Recognize h8300h.David Edelsohn1-0/+4
1993-07-14Recognize h8300h.David Edelsohn1-2/+4
Make sparc64-*-aout* use bfd gas.
1993-07-13cvs core dumps again...Steve Chamberlain1-4/+3
1993-07-13 * config/tc-h8500.c (line_comment_chars): Add hash.Steve Chamberlain2-7/+41
(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 Raeburn2-1/+7
Handle `execinstr' attribute.
1993-07-12 * config/tc-mips.c (mips_ip): Don't warn on 'i' or 'j' mismatch ifIan Lance Taylor2-2/+17
there is another alternative for the instruction.
1993-07-10doc/as.texinfoRoland Pesch1-0/+4
1993-07-10Updates for Hitachi H8/300HRoland Pesch1-146/+243
1993-07-09Clean up some of the obvious m88k bitrot.Ian Lance Taylor2-16/+16
It still doesn't actually compile, though.