aboutsummaryrefslogtreecommitdiff
path: root/gas
AgeCommit message (Collapse)AuthorFilesLines
1995-08-12* Makefile.in (TE_OBJS): Add empty definition.Ken Raeburn1-0/+4
1995-08-11 * gasp.c (change_base): Don't treat ' specially in MRI mode.Ian Lance Taylor3-115/+641
(process_file): Don't warn about missing END in MRI mode. (do_if): New static function. (get_mri_string, do_ifc): New static functions. (buffer_and_nest): Treat MRI mode like alternate syntax mode. (do_aendr): Change error message in MRI mode. (do_arepeat): Use REPT/ENDR in MRI mode. (do_formals): In MRI mode, add special NARG formal. (macro_expand): Various changes for MRI mode: permit a qualifier on the macro name; set special NARG formal; permit unnamed positional arguments; use && to concatenate named parameters; permit \d to specify an unnamed parameter; permit named parameters to not start with \; use == to see if a parameter exists. (getstring): In MRI mode, allow <> to quote a string. (K_IFEQ, K_IFNE, K_IFLT, K_IFLE, K_IFGE, K_IFGT): Define. (K_IFC, K_IFNC): Define. (struct keyword): Name structure used in kinfo array. (mrikinfo): New static array. (process_pseudo_op): Don't require leading '.' in MRI mode. Handle new MRI pseudo-op definitions. (add_keyword): New static function, broken out of process_init. (process_init): Use add_keyword. In MRI mode, add mrikinfo table. (long_options): Add "mri". (show_usage): Mention -M/--mri. (main): Call process_init after processing arguments. Handle -M. * doc/gasp.texi: Document -M/--mri.
1995-08-11Allow large addends for BFD_RELOC_{LO16,HI16,HI16_S} relocs.Michael Meissner2-1/+11
1995-08-11* read.c (s_mri_sect) [BFD_ASSEMBLER]: Fix typos in choosing and settingKen Raeburn1-0/+5
section flags.
1995-08-10 * doc/as.texinfo: Add documentation for MRI compatibility mode.Ian Lance Taylor3-3421/+138
* doc/as.1: Likewise.
1995-08-10 * config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte andIan Lance Taylor3-6/+17
iword rather than expr8 and expr16. When recognizing 'M', use issbyte rather than expr8. When recognizing 'Q' and 't', just check for O_constant rather than using expr8. * config/m68k-parse.h (expr8, expr16): Don't define. * Makefile.in (m68k-parse.o): Depend upon m68k-parse.h, not m68k-parse.y.
1995-08-10 * read.c (potable): Add spc, ttl, xcom, xref.Ian Lance Taylor3-0/+191
(s_mri_sect): New function. * read.h (s_mri_sect): Declare. * config/obj-coff.c (obj_coff_section) (both versions): In MRI mode, call s_mri_sect. (obj_pseudo_table): Add sect.s and section.s. Move sect outside of ifndef BFD_ASSEMBLER. * config/obj-elf.c (elf_pseudo_table): Add section.s, sect, sect.s. (obj_elf_section): In MRI mode, call s_mri_sect. * config/tc-m68k.c (md_pseudo_table): Add restore, save. (struct save_opts): Define. (save_stack): New static variable. (s_save, s_restore): New static functions.
1995-08-10 * gas/mri/char.d: Fix for little endian machines.Ian Lance Taylor1-0/+5
* gas/mri/float.d: Likewise.
1995-08-10 * read.c (s_set): Remove unused local ptr.Ian Lance Taylor6-4/+40
(hex_float): Check target_big_endian. (equals): Remove unused local p. * config/tc-a29k.h (TARGET_BYTES_BIG_ENDIAN): Define. * config/tc-h8500.h (TARGET_BYTES_BIG_ENDIAN): Define. * config/tc-hppa.h (TARGET_BYTES_BIG_ENDIAN): Define. * config/tc-i860.h (TARGET_BYTES_BIG_ENDIAN): Define. * config/tc-m68k.h (TARGET_BYTES_BIG_ENDIAN): Define. * config/tc-m88k.h (TARGET_BYTES_BIG_ENDIAN): Define. * config/tc-tahoe.h (TARGET_BYTES_BIG_ENDIAN): Define. * config/tc-sh.c (little): Set target_big_endian. (md_begin): Likewise. (md_parse_option): Likewise. (build_relax): Check target_big_endian rather than shl. (build_Mytes, md_atof): Likewise. (md_convert_frag, md_apply_fix): Likewise. (md_number_to_chars): Likewise.
1995-08-09 * config/tc-m68k.c (m68k_abspcadd): New static variable.Ian Lance Taylor2-5/+400
(m68k_quick): New static variable. (m68k_rel32): New static variable. (md_pseudo_table): Add opt and reg. (m68k_ip): Permit absolute symbols in 'l'/'L' recognition. Check m68k_quick in 'M' and 'Q' recognition. Check m68k_abspcadd in DISP handling. Check m68k_rel32 in BASE/POST/PRE handling. (md_begin): In MRI mode, initialize m68k_abspcadd and m68k_rel32. In MRI mode, change unsized branch aliases to be variable sized. (struct opt_action): Define. (opt_table): Define. (s_opt): New static function. (skip_to_comma): New static function. (opt_chip): New static function. (opt_list): New static function. (opt_list_symbols): New static function. (s_reg): New static function. * as.h (flag_keep_locals): Change from unsigned char to int. (flag_no_warnings): Likewise.
1995-08-09 * read.c (mri_line_label): Make non-static.Ian Lance Taylor2-1/+17
(potable): Add nopage, page, plen. (s_org): Error if in MRI mode. * read.h (mri_line_label): Declare. * listing.c (listing_nopage): New function. * listing.h (listing_nopage): Declare.
1995-08-09 * symbols.c (symbol_begin): Set sy_frag of abs_symbol toIan Lance Taylor1-0/+1
&zero_address_frag.
1995-08-09 * gas/all/struct.s, gas/all/struct.d: New test.Ian Lance Taylor4-0/+25
* gas/all/gas.exp: Run it.
1995-08-09 * read.c (abs_section_offset): New global variable.Ian Lance Taylor3-108/+379
(potable): Add offset, struct. (do_org): New static function; handle changing the origin in the absolute section. (s_org): Use do_org. (s_set): Likewise. (equals): Likewise. (s_space): In absolute_section, just increase abs_section_offset. (s_struct): New function. (emit_expr): Handle absolute_section specially. * read.h (abs_section_offset): Declare. (s_struct): Declare. * read.c (potable): Add ifeq, ifge, ifgt, ifle, iflt, ifne. Change if to pass O_ne to s_if. (read_a_source_file): Don't define an label without a colon if ignore_input returns true. * read.c (potable): Add dcb, dcb.b, dcb.d, dcb.l, dcb.s, dcb.w, dcb.x, ds.d, ds.p, ds.s, ds.x, elsec, endc, fail, format, llen, noformat. (read_a_source_file): If pseudo-op handler is s_end, quit immediately. (s_end): New function. (s_fail): New function. (s_float_space): New function. (hex_float): New static function. (float_cons): Use hex_float. * read.h (s_fail): Declare. (s_float_space): Declare.
1995-08-09 * write.c (adjust_reloc_syms): Check that symbol is not NULLIan Lance Taylor2-3/+5
before checking sy_mri_common. (fixup_segment): Likewise. * config/obj-coff.c (fixup_segment): Likewise.
1995-08-09 * frags.c (frag_more): Warn if in absolute_section.Ian Lance Taylor1-0/+8
(frag_now_fix): In absolute_section, return abs_section_offset. * subsegs.c (subseg_change): If switching to absolute_section, just set now_seg and now_subseg. (subseg_set_rest): Special handling when switching to or from absolute_section.
1995-08-09 * config/tc-m68k.c (m68k_float_copnum): New static variable.Ian Lance Taylor2-11/+40
(md_pseudo_table): Add fopt and mask2. (m68k_ip): Use m68k_float_copnum, not COPNUM, when setting coprocessor register to use. In case 'I' when checking operands, correct coprocessor register numbers. In case 'I' when setting operands, don't add 1. (s_fopt): New static function. * config/m68k-parse.h (COPNUM): Don't define.
1995-08-09 * listing.c (listing_psize): Treat argument as indicating whetherIan Lance Taylor1-14/+23
a height is expected.
1995-08-09Add ChangeLog entry for accidental checkin of read.c.Ian Lance Taylor1-0/+4
1995-08-09 * configure.in: Move random special target handling beforeIan Lance Taylor2-0/+42
possible break. * configure: Rebuild.
1995-08-09Tue Aug 8 23:41:25 1995 Alan Modra <alan@spri.levels.unisa.edu.au>Ian Lance Taylor4-35/+43
* configure.in: Consistently use ${target_cpu_type} rather than ${cpu_type} after the loop. * configure: Rebuild. * Makefile.in (targ-cpu.o): Use @target_cpu_type@ rather than @cpu_type@.
1995-08-09* expr.h (operatorT): Remove comma after last enumerator value.Ken Raeburn1-1/+3
1995-08-09yet more vms work from pat rankinKen Raeburn2-153/+119
1995-08-09* as.h (alloca): If __STDC__, declare void* instead of char*.Ken Raeburn2-1/+15
1995-08-08 * config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001,Ian Lance Taylor2-2/+74
68ec020, 68ec030, 68ec040, and 68330. (md_pseudo_table): Add chip and comline. (m68k_init_after_args): Use strcasecmp when comparing default_cpu against architectures. (mri_chip, s_chip): New static functions.
1995-08-08 * gas/mri/common.s, gas/mri/common.d: New test.Ian Lance Taylor5-0/+35
* gas/mri/mri.exp: Run it.
1995-08-08 * struc-symbol.h (struct symbol): Add sy_mri_common bit.Ian Lance Taylor9-264/+696
* read.h (mri_comon_symbol): Declare. (s_mri_common): Declare. * read.c (mri_line_label): New static variable. (mri_common_symbol): New global variable. (potable): Add "common" and "common.s". (read_a_source_file): In MRI mode, set mri_line_label for a label at the start of a line. (s_mri_common): New function. (s_space): Handle mri_common_symbol. * symbols.c (colon): Change return value from void to symbolS *, and return new symbol. If mri_common_symbol is set, attach the new symbol to it. (resolve_symbol_value): Handle an sy_mri_common symbol. * symbols.h (colon): Change return value in declaration. * subsegs.c (subseg_set_rest): Clear mri_common_symbol. (subseg_set (both versions)): Likewise. * frags.c (frag_more): Warn if mri_common_symbol is not NULL. * write.c (adjust_reloc_syms): Skip sy_mri_common symbols. (write_object_file): Discard sy_mri_common symbols. (fixup_segment): Change relocations against sy_mri_common symbols to be against the common symbol itself. * config/obj-coff.c (yank_symbols): Discard sy_mri_common symbols. (fixup_segment): Change relocations against sy_mri_common symbols to be against the common symbol itself. * config/obj-aout.c (obj_crawl_symbol_chain): Discard sy_mri_common symbols.
1995-08-08 * doc/c-m68k.texi: Add documentation for CPU specific options, andIan Lance Taylor1-0/+3
for Motorola syntax.
1995-08-08 * config/m68k-parse.y (motorola_operand): For (%pc), set mode toIan Lance Taylor1-0/+5
DISP, not BASE.
1995-08-08* write.c (relax_align): Add extra padding for linkrelax only ifKen Raeburn2-3/+30
LINKER_RELAXING_SHRINKS_ONLY is defined. * config/tc-i960.h (LINKER_RELAXING_SHRINKS_ONLY): Define it. * doc/internals.texi (Relaxation): Write up some stuff on linker relaxing and LINKER_RELAXING_SHRINKS_ONLY.
1995-08-08 * gas/mri/mri.exp: Add setup_xfail for a29k*-*-* for constantsIan Lance Taylor2-0/+4
test.
1995-08-08 * gasp/crash1.out, gasp/macro.out, gasp/sfunc.out: CompleteIan Lance Taylor4-1/+272
truncated files, so that the tests pass.
1995-08-08Move testsuite ChangeLog entries to testsuite/ChangeLog.Ian Lance Taylor2-4/+6
1995-08-08 * gas/mri/mri.exp: Add setup_xfail for hppa*-*-* for equ,Ian Lance Taylor2-0/+15
constants, and expr.
1995-08-08 * gas/m68k/all.exp: Run schwab test on hpux*, not just hpux. RunIan Lance Taylor2-1/+4
on vxworks*, not just vxworks5.1.
1995-08-08 * lib/gas-defs.exp (fail_phase, pass_phase): Remove.Ian Lance Taylor1-0/+3
(run_dump_test): Just call pass or fail.
1995-08-08 * gas/m68k/operands.s, gas/m68k/operands.d: New test.Ian Lance Taylor11-40/+889
* gas/m68k/op68000.d: New test. * gas/m68k/cas.s, gas/m68k/cas.d: New test. * gas/m68k/bitfield.s, gas/m68k/bitfield.d: New test. * gas/m68k/schwab.d: Run objdump with -j .text. Adjust for changes to disassembler. * gas/m68k/all.exp: Run new tests. Run schwab test for m68k-*-coff*.
1995-08-08 * config/m68k-parse.y: New file: bison grammar for m68k operands,Ian Lance Taylor8-1732/+1953
including support for Motorola syntax. * config/m68k-parse.h: New file; definitions shared between m68k-parse.y and tc-m68k.c. * config/tc-m68k.c: Include m68k-parse.h. (enum operand_type): Move to m68k-parse.h, where it is named m68k_operand_type. Rename all uses. Rearrange somewhat. Add FPREG. Rename AOFF to DISP. Rename AINDX to BASE. Rename APODX to POST. Rename APRDX to PRE. Remove AMIND. Rename MSCR to CONTROL. Remove DINDR. (struct m68k_exp): Move to m68k-parse.h. Remove e_beg, e_end and e_seg fields. Rename e_exp to exp. Rename e_siz to size, and change type to enum m68k_size. Change all uses. (enum _register): Move to m68k-parse.h, where it is named m68k_register. Rename all uses. Add ZDATA0-7 and ZADDR0-7. (struct m68k_op): Move to m68k-parse.h. Change all fields. (seg): Don't define. (add_exp): Remove. (FAIL, OK): Remove. (m68k_reg_parse): Move to m68k-parse.y, and rewrite. (SKIP_WHITE, SKIP_W): Remove. (try_moto_index, try_index): Remove. (m68k_ip_op): Move to m68k-parse.y, and rewrite to use grammar. (main): Remove obsolete test function. (m68k_ip): Extensive changes to use new grammar. (get_regs): Remove. (crack_operand): m68k_ip_op now returns 0 on success. (init_table): Add ssp, zd0-7 and za0-7. (md_assemble): Make er const. Correct loop over operands when looking for error message. (md_begin): Set alt_notend_table for '(' and '@'. (get_num): Expression is already parsed. Don't set seg. * configure.in: If cpu_type is m68k, put m68k-parse.o in extra-objects. * configure: Rebuild. * Makefile.in (DISTSTUFF): Add m68k-parse.c. (BISON): Use ../bison/bison if it exists. (BISONFLAGS): Define as empty. (TARG_CPU_DEP_m68k): Depend upon $(srcdir)/config/m68k-parse.h. (m68k-parse.c, m68k-parse.o): New targets.
1995-08-07 * gas/sh/*: New tests for the hitachi-sh.Jeff Law5-0/+161
Sanitized away for now...
1995-08-07 * config/tc-sh.c (parse_reg): Handle new FP registers.Jeff Law4-210/+611
(get_specific): Handle new operand types. Sanitized away for now.
1995-08-02 * config/tc-m68k.c: Remove BREAK_UP_BIG_DECL stuff.Ian Lance Taylor1-0/+11
(struct m68k_incant): Change m_operands field to be const. (struct m68k_it): Change args field to be const. (m68k_ip): Change local variable s to be const. (opcode_ptr): Remove. (md_begin): Use m68k_numopcodes, not numopcodes. Use m68k_opcodes, not removed opcode_ptr. Use m68k_numaliases, not numaliases.
1995-08-01 * gas/mri/*: New tests for MRI mode.Ian Lance Taylor14-0/+152
1995-08-01 * config/tc-m68k.c (init_table): Add "control", "status", "iaddr",Ian Lance Taylor1-7/+14
"sfcr", and "dfcr" as synonyms for existing entries. (md_begin): In MRI mode, force flag_reg_prefix_optional to 1. (md_parse_option): Removed unused locals i and arch. Change type of arch (another one) to unsigned long. (tc_coff_sizemachdep): Add return after abort to avoid warning.
1995-08-01 Initial support for MRI style labels and expressions.Ian Lance Taylor2-243/+606
* as.h (flag_mri): Declare/define. * as.c (show_usage): Mention -M and its synonym --mri. (parse_args): Add 'M' to std_shortopts. Add "mri" to std_longopts. Set flag_mri if -M is seen. (main): Call parse_args before input_scrub_begin. Call expr_begin. * app.c (do_scrub_begin): Don't set lex for '"' or '\'' in MRI mode. Do set lex for ';', '*', and '!' in MRI mode. (do_scrub_next_char): Remove MRI ifdef in LEX_IS_WHITESPACE case. In MRI mode, keep spaces between labels and colons. Remove MRI ifndef around LEX_IS_ONECHAR_QUOTE case. In MRI mode, don't use '!' or '*' as comment characters even if they are in comment_chars. * read.h (lex_type): No longer const. * read.c: Include libiberty.h. (lex_type): No longer const. (read_begin): In MRI mode, set lex_type of '?' to 3. (potable): Add dc, dc.b, dc.d, dc.l, dc.s, dc.w, dc.x, ds, ds.b, ds.l, ds.w, and xdef. (read_a_source_file): Change LABELS_WITHOUT_COLON ifdef to check for MRI mode at runtime rather than compile time. Handle the EQU pseudo-op in MRI mode. Remove bogus MRI ifdef around done_pseudo. Change NO_PSEUDO_DOT ifdef to also take effect for MRI mode at runtime. (cons): In MRI mode, always call parse_mri_cons rather than TC_PARSE_CONS_EXPRESSION. (parse_mri_cons): Always compile, not just when MRI is defined. Call TC_PARSE_CONS_EXPRESSION, not expression, when the input is not a string constant. Handle A and E modifiers. (float_cons): Accept :xxxx, where the x's are hex digits. * expr.h (operatorT): Add O_eq, O_ne, O_lt, O_le, O_ge, O_gt. (expr_begin): Declare. * expr.c (integer_constant): In MRI mode, if the base was not specified, look for a suffix on the number to set the base. (mri_char_constant): New static function. (operand): Remove MRI ifdef. In MRI mode, do various things: Pass 0 as the base when calling integer_constant if there was no prefix. Check for a hex constant suffix if when a leading '0' is seen. Don't accept 0x or 0b as a prefix. Check for E'chars' and A'chars'. Handle MRI character constants. Treat '"' as the unary bitwise not operator. Treat $ as the program counter, or as the prefix for a hex constant. Treat % as the prefix for a binary constant and @ as the prefix for an octal constant. Treat : as the prefix for a hex constant. (op_encoding): Set '"' to O_bit_not, '<' to O_lt, and '>' to O_gt. (op_rank): No longer const. Change rank values. (expr_begin): New function. (operator): New static function. (expr): Use operator. Don't bother to mention the operator in warnings. Remove bogus #if 0 code. Handle new operatorT values. * atof-generic.c (atof_generic): In MRI mode, accept underscores around the exponent in floating point numbers. * symbols.h (symbols_case_sensitive): Declare. * symbols.c (symbols_case_sensitive): New global variable. (symbol_create): Check symbols_case_sensitive. (symbol_find_base): Likewise. (resolve_symbol_value): Handle new operatorT values. (print_expr_1): Likewise. (S_IS_LOCAL): In MRI mode, names beginning with two '?' characters are local.
1995-08-01 * Makefile.in: Remove superfluous runtest gasp.Steve Chamberlain2-1/+19
1995-08-01Tue Aug 1 11:35:18 1995 steve chamberlain <sac@slash.cygnus.com>Steve Chamberlain1-0/+5
* tc-sh.c (md_convert_frag): Make some error messages more explict.
1995-08-01 * gasp.c (main): Parse -I option.Steve Chamberlain2-5/+55
(do_include): Look through include list. * gasp.c (change_base): Don't modify numbers in strings. (pr7583) * testsuite/gasp/*: New. * testsuite/Makefile.in: Use gasp tests. * testsuite/config/default.exp: Add gasp stuff.
1995-08-01 * testsuite/Makefile.in: Use gasp tests.Steve Chamberlain2-1/+16
* testsuite/config/default.exp: Add gasp stuff.
1995-08-01Keep gasp.Steve Chamberlain1-1/+2
1995-08-01gasp is gone from here.Steve Chamberlain1-1/+0