Commit graph

69 commits

Author SHA1 Message Date
Ian Lance Taylor
a7512014c6 * config/tc-m68k.c (isbyte): Accept all values from -65536 to
+65535,	so ~VAL will not be rejected.
1995-10-04 18:02:13 +00:00
Ian Lance Taylor
9adcd78108 * config/tc-m68k.c (m68k_ip): Reject immediate operands for '|'.
Replace 'P' with '0', '1', and '2'.
1995-09-19 19:33:48 +00:00
Ian Lance Taylor
e1c0287d1c * config/tc-m68k.c (parse_mri_control_operand): Change leftstop
and rightstop to not be const.
	(parse_mri_control_expression): Likewise.
	(build_mri_control_operand): Likewise.  Use m68k_ip_op to examine
	the operand, not m68k_reg_parse.
	(s_mri_if): In MRI mode, stop at the first '*'.
	(s_mri_while): Likewise.
	(s_mri_else): In MRI mode, ignore trailing characters.
	(s_mri_endi, s_mri_break, s_mri_next, s_mri_for): Likewise.
	(s_mri_endf, s_mri_repeat, s_mri_until, s_mri_endw): Likewise.
	* config/m68k-parse.y: Revert yesterday's change.
	* config/m68k-parse.h: Revert yesterday's change.
1995-09-19 15:36:38 +00:00
Ian Lance Taylor
b3625fe62c * config/tc-m68k.c (parse_mri_control_operand): Change leftstart
and rightstart to not be const.
	(parse_mri_control_expression): Likewise.
	(build_mri_control_operand): Likewise.  If the left side of the
	comparison is a register, and the right side is not, swap the two
	sides.
	* config/m68k-parse.y (m68k_reg_parse): Make globally visible.
	* config/m68k-parse.h (m68k_reg_parse): Declare.
1995-09-18 22:25:54 +00:00
Ian Lance Taylor
f9680a0598 * read.c (mri_comment_field): New function.
(mri_comment_end): New function.
	(s_align_bytes): Use mri_comment_field.
	(s_align_ptwo, s_comm, s_mri_common, s_fail, s_globl): Likewise.
	(s_float_space, s_struct): Likewise.
	(s_space): Use mri_comment_field rather than doing it by hand.
	(cons_worker, equals): Likewise.
	(s_end): Ignore comments starting with '*' or '!'.
	* read.h (mri_comment_field): Declare.
	(mri_comment_end): Declare.
	* cond.c (s_if): Use mri_comment_field.
	* config/tc-m68k.c (s_chip, s_reg): Likewise.
1995-09-18 21:53:40 +00:00
Ian Lance Taylor
3b06beb757 * write.c (fixup_segment): Handle ABS-sym in -sym case rather than
sym-sym case.
	* config/obj-coff.c (fixup_segment): Likewise.  Permit negative
	symbols if TC_M68K.
	* config/tc-m68k.c (tc_coff_fix2rtype): If fx_tcbit is set, return
	R_RELLONG_NEG.
	(tc_gen_reloc): If fx_tcbit is set, abort.
	(md_apply_fix_2): For a negative reloc, move fx_subsy to fx_addsy,
	and set fx_tcbit.
Permits generating negative relocs for m68k COFF.
1995-09-18 21:11:34 +00:00
Ian Lance Taylor
85f341221b * config/tc-m68k.c (s_reg): Ignore comment field in MRI mode. 1995-09-18 19:23:53 +00:00
Jeff Law
326b087c89 * config/tc-m68k.c: Change some "CONST" references to "const".
Just changed those which caused redefinition errors on a system where
CONST != const.  Many more remain.
1995-09-16 03:44:03 +00:00
Ian Lance Taylor
f00f5ecd1d * write.c (relax_and_size_seg): Change to the segment we are
relaxing, in case md_convert_frag, called by cvt_frag_to_fill,
	wants to call fix_new.
	* config/tc-m68k.c (m68k_ip): Permit PC relative code if the
	segment of the symbol is the current segment, not just in
	text_section.
	(md_convert_frag_1): Don't call subseg_change.
	(md_estimate_size_before_relax): Likewise.
1995-09-13 17:19:27 +00:00
Ian Lance Taylor
92a25e12ff * app.c (do_scrub_chars): In MRI mode, keep a space before a
possible comment character.
	* config/tc-m68k.c (m68k_ip): In MRI mode, ignore anything after
	an instruction which takes no operands.
1995-09-08 19:17:46 +00:00
Ian Lance Taylor
4026c1222f * read.c (read_a_source_file): In MRI mode, don't end the
statement inside a quotation.
	(s_space): Don't warn about a zero repeat count in MRI mode.
	* config/tc-m68k.c (crack_operand): In MRI mode, don't count
	parentheses inside quotes.
	(md_assemble): In MRI mode, anything after the operands field is a
	comment.
	(parse_mri_control_operand): Adjust start and stop to remove
	spaces.
	(s_mri_for): Likewise.
1995-08-21 21:05:06 +00:00
Ian Lance Taylor
7e047ac2c1 Add support for macros.
* as.c: Include sb.h and macro.h.
	(max_macro_next): New global variable.
	(main): Call macro_init.
	(macro_expr): New static function.
	* as.h (max_macro_nest): Declare.
	* read.c (line_label): Rename from mri_line_label.  Change all
	uses.
	(potable): Add exitm, irp, irpc, macro, mexit, rept.
	(read_a_source_file): Always clear line_label at the start of a
	line, not just when flag_mri or LABELS_WITHOUT_COLONS.  Fixup
	MRI/LABELS_WITHOUT_COLONS handling.  In MRI mode, permit label:
	equ val.  Set line_label when calling colon.  In MRI mode, a
	leading '.' does not imply a pseudo-op.  Check for macro expansion
	before calling md_assemble.
	(s_irp): New function.
	(get_line_sb): New static function.
	(s_macro): New function.
	(s_mexit): New function.
	(s_rept): New function.
	* read.h (line_label): Rename from mri_line_label.
	(s_irp, s_rept): Declare.
	(s_macro, s_mexit): Declare.
	* input-scrub.c: Include sb.h.
	(sb_index, from_sb): New static variables.
	(macro_nest): New static variable.
	(struct input_save): Add sb_index and from_sb fields.  Change
	next_saved_file field to be struct input_save *.
	(next_saved_file): Changed to be struct input_save *.
	(input_scrub_push): Change to return type struct input_save *.
	Save sb_index and from_sb.
	(input_scrub_pop): Change parameter type to struct input_save *.
	Restore sb_index and from_sb.
	(input_scrub_include_sb): New function.
	(input_scrub_next_buffer): Handle reading from from_sb.
	(bump_line_counters): Only increment lines if not using from_sb.
	* config/tc-m68k.c (opt_table): Add nest.
	(opt_nest): New static function.
	* gasp.c: Include sb.h and macro.h.  Move all sb related functions
	and definitions to sb.h and sb.c.  Move all macro related
	functions and definitions to macro.h and macro.c.
	* sb.h, sb.c: New files, extracted from gasp.c.
	* macro.h, macro.c: Likewise.
	* Makefile.in (OBJS): Add sb.o and macro.o
	(GASPOBJS): Define.
	(gasp.new): Depend upon $(GASPOBJS).  Use $(GASPOBJS) to link.
	(TARG_CPU_DEP_m68k): Depend upon subsegs.h.
	(gasp.o): Depend upon sb.h and macro.h.
	(sb.o): New target.
	(macro.o): New target.
	(as.o): Depend upon sb.h and macro.h.
	(input-scrub.o): Depend upon sb.h.
	(read.o): Depend upon sb.h and macro.h.
1995-08-21 18:35:11 +00:00
Ian Lance Taylor
b4ec75e09f * config/tc-m68k.c: Include subsegs.h.
(m68k_ip): Pass 64 rather than -1 to add_Fix in 'B' 'B' case.
	(md_pcrel_from): If fx_pcrel_adjust is 64, use -1 instead.
You can't portably store negative numbers in a char.
1995-08-18 15:02:56 +00:00
Ian Lance Taylor
8e11ad0acd * config/tc-m68k.c (s_reg): Rename local op to rop to avoid
confusion with macro op.
1995-08-14 21:33:29 +00:00
Ian Lance Taylor
9bef2324a2 * config/tc-m68k.c (s_opt): Reset *input_line_pointer even if we
don't do anything with the option.
1995-08-14 19:50:12 +00:00
Ian Lance Taylor
336435bc4d * config/tc-m68k.c (m68k_ip): When recognizing '#', use isbyte and
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 16:43:00 +00:00
Ian Lance Taylor
e14994d980 * read.c (potable): Add spc, ttl, xcom, xref.
(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 16:19:34 +00:00
Ian Lance Taylor
6700d36e84 * config/tc-m68k.c (m68k_abspcadd): New static variable.
(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 23:22:13 +00:00
Ian Lance Taylor
27a53b88d7 * config/tc-m68k.c (m68k_float_copnum): New static variable.
(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 19:32:49 +00:00
Ian Lance Taylor
e9bb39b456 * config/tc-m68k.c (archs): Add 68ec000, 68hc000, 68hc001,
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 21:46:37 +00:00
Ian Lance Taylor
a1c7c0f3ac * config/m68k-parse.y: New file: bison grammar for m68k operands,
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-08 02:36:10 +00:00
Ian Lance Taylor
064ba683c9 * config/tc-m68k.c (init_table): Add "control", "status", "iaddr",
"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 22:02:07 +00:00
Ian Lance Taylor
5f8cb05eef * config/tc-sh.c (sh_relax): Rename from relax, and make global.
Renamed all uses.
	(insert): Pass a size of 2, not 4.
	(build_relax): Remove unused len variable.
	(md_show_usage): Mention -little option.
	(md_convert_frag): Add segT argument.  Rewrite to generate relocs
	rather than to generate complete instructions here.
	(md_apply_fix): Adjust and clarify R_SH_PCRELIMM8BY4 case for
	changes in insert and md_pcrel_from.  Add cases for R_SH_PCDISP
	and R_SH_PCDISP8BY2.
	(md_pcrel_from): Don't subtract 1, add 2.
	(tc_coff_fix2rtype): Remove.
	(sh_coff_reloc_mangle): New function.
	* config/tc-sh.h (TC_COFF_FIX2RTYPE): Just return fx_r_type.
	(sh_relax): Declare.
	(TC_COUNT_RELOC): If relaxing, count PC relative relocs.
	(TC_RELOC_MANGLE): Define.
	(sh_coff_reloc_mangle): Declare.
	(tc_coff_sizemachdep): Declare.
	* tc.h (md_convert_frag): Add segT parameter to non BFD_ASSEMBLER
	declaration.
	* write.c (cvt_frag_to_fill): Add sec argument to non
	BFD_ASSEMBLER version.  Pass it to md_convert_frag.
	(write_object_file): Pass SEG_TEXT to cvs_frag_to_fill.
	* config/obj-coff.c (do_relocs_for): Pass segment info to
	TC_RELOC_MANGLE.
	(fixup_mdeps): Pass segment type to md_convert_frag.
	* config/tc-a29k.c (md_convert_frag): Add segT argument.
	* config/tc-h8300.c (md_convert_frag): Likewise.
	* config/tc-h8500.c (md_convert_frag): Likewise.
	* config/tc-i386.c (md_convert_frag): Likewise.
	* config/tc-i860.c (md_convert_frag): Likewise.
	* config/tc-i960.c (md_convert_frag): Likewise.
	* config/tc-m68k.c (md_convert_frag): Likewise.
	* config/tc-m88k.h (md_convert_frag): Likewise.
	* config/tc-ns32k.c (md_convert_frag): Likewise.
	* config/tc-rce.c (md_convert_frag): Likewise.
	* config/tc-tahoe.c (md_convert_frag): Likewise.
	* config/tc-vax.c (md_convert_frag): Likewise.
	* config/tc-w65.c (md_convert_frag): Likewise.
	* config/tc-z8k.c (md_convert_frag): Likewise.
	* config/tc-h8300.h (TC_RELOC_MANGLE): Add segment argument.
	* config/tc-h8500.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-rce.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-w65.h (TC_RELOC_MANGLE): Likewise.
	* config/tc-z8k.h (TC_RELOC_MANGLE): Likewise.
1995-07-19 16:14:49 +00:00
Ken Raeburn
04ef74bb13 (PCINDEX): New macro.
(md_relax_table): No longer const.  Add PCINDEX entries.
(m68k_ip): For AINDX with simple symbol operand, generate a PCINDEX frag if PC
is used, or do normal non-AINDX processing for address register.
(m68k_init_after_args): If cpu is 68000 or 68010, fix md_relax_table to prevent
relaxation of PCINDEX/BYTE mode to SHORT, since they don't support that mode.
(md_convert_frag_1, case PCLEA/LONG): Add 4 to offset, not 2.  Add support for
new PCINDEX modes.
(md_estimate_size_before_relax): Process PCINDEX/SZ_UNDEF mode.
(md_convert_frag_1, case PCLEA/SHORT): Add 2 to offset.
(m68k_ip, case most punctuation/AOFF): If using PC, call add_frag using PCLEA.
1995-04-11 01:31:08 +00:00
Ken Raeburn
b79de3a178 Don't explicitly include config.h. Deleted a bunch of "#if 0" code and useless
comments.
(struct m68k_cpu): New type.
(archs, n_archs): New variables, with single list of name/enum mapping and
aliases.
(m68k_ip): Delete the table here.
(m68k_init_after_args): Use the new table here instead of open-coding it.
(md_parse_option, case 'm'): Ditto.
1995-04-11 01:03:07 +00:00
Ken Raeburn
9ad5755f7b * config/tc-m68k.c (md_apply_fix_2): Use offsetT and addressT instead of long
and unsigned long.
(md_apply_fix): Cast value before passing it.
1994-12-20 20:23:41 +00:00
David MacKenzie
f3d817d8b7 * as.c (show_usage): Remove target specific messages;
instead, call md_show_usage.
	(parse_args): Use getopt_long_only.  Take pointers to argc and
	argv.
	(main): Pass parse_args pointers.
	* as.h: Remove 3 variables that are redundant with flagseen.
	* as.c, messages.c: Change their users to use flagseen.
	Define getopt stuff.
	* tc.h: Update md_parse_option decl.  Add md_show_usage decl.
	* config/tc-*.c: Add md_shortopts, md_longopts,
	md_longopts_size, md_show_usage.  Change calling convention for
	md_parse_option.  Remove md_parse_long_option.
	* config/tc-ns32k.c: Rename `struct option' to `struct ns32k_option'.
	* config/tc-i386.h: Don't define md_parse_option.
1994-06-03 17:42:27 +00:00
Ken Raeburn
82489ea062 68060 support 1994-06-02 16:35:41 +00:00
Ian Lance Taylor
f3751617c3 * config/tc-m68k.c (md_apply_fix_2): Error if a short branch uses
an illegal offset of 0 or -1.
1993-10-26 21:58:41 +00:00
Ken Raeburn
2d4f509a1f delete some code in "#if 0" 1993-10-21 19:55:01 +00:00
Ian Lance Taylor
dff60b7d48 * config/tc-m68k.h (AOUT_MACHTYPE): Define to be external variable
m68k_aout_machtype.
	* config/tc-m68k.c (omagic): Remove obsolete and unused variable.
	(m68k_aout_machtype): New variable, if OBJ_AOUT.
	(md_assemble): Initialize m68k_aout_machtype based on
	current_architecture, if OBJ_AOUT.
	(md_parse_option): Remove obsolete reference to omagic.
1993-10-19 22:18:15 +00:00
Ken Raeburn
b80d39a01c (flag_want_pic): New variable, mostly ignored.
(md_parse_option) [TE_SUN3]: Set it for "-k".
(m68k_ip): Generate proper fixup for mode 7.3.
1993-09-27 03:55:33 +00:00
Ken Raeburn
bcb8dff8d8 Moved struct m68k_incant and related macros earlier in the file.
Make insop and add_exp functions for readability.
Whitespace/comment changes.
1993-09-25 09:32:12 +00:00
Ian Lance Taylor
ce2ad89aca * config/tc-m68k.c (m68k_ip_op): Don't decrement strend when
calculating opP->isiz; this permits the expression size to be
	determined as well, later on.

Fixes PR 2911.
1993-07-19 19:13:30 +00:00
Ken Raeburn
9d4dfbf379 fix net-equip pr 2975: tm-m68k.c(m68k_ip): adjust for pc-rel offset before using value, not after 1993-07-19 16:49:01 +00:00
Mark Eichin
025b030243 fix definitions of md_create_long_jump, md_create_short_jump,
md_number_to_chars, and md_section_align to correctly use valueT and addressT
1993-07-12 19:42:32 +00:00
Ken Raeburn
49864cfa6c read.c (s_align_bytes): Properly record alignment.
expr.c (__): Undefine before defining.
as.c (got_sig): Don't return anything; return type might be void.
Whitespace/comment cleanup in frags.c.
Some patches for `-pedantic' or `-fno-common' compilation.
(Some of these changes are from Michael Meissner; see change log.)
1993-05-27 19:42:23 +00:00
Ken Raeburn
e284846a8d Include new file config.h.
Handle some m683XX processor ids.
1993-03-12 02:39:03 +00:00
Ken Raeburn
1404ef23ee m68k_ip: for pc-rel addressing of a symbol, fix offset so +2 isn't needed 1993-02-24 11:20:58 +00:00
Ken Raeburn
355afbcd8b Ran "indent", for GNU coding style; some code & comments still need fixup.
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-11-23 20:42:33 +00:00
Ian Lance Taylor
0069b1f670 These are actually Ken's patches--I told him I'd take move them from
p3 into devo.

	* tc-m68k.c (m68k_reg_parse): If REGISTER_PREFIX isn't defined,
	still accept (but don't require) OPTIONAL_REGISTER_PREFIX before
	the register name.
	* tc-m68k.h (OPTIONAL_REGISTER_PREFIX): Define to be "%", if not
	M68KCOFF.
1992-11-10 20:09:23 +00:00
Ian Lance Taylor
587c4264e0 These changes clean things up a bit, and improve Solaris cross
support when using /opt/SUNWspro/SC2.0/acc.

Tue Nov 10 09:50:25 1992  Ian Lance Taylor  (ian@cygnus.com)

	* obj-coffbfd.c (fill_section): set STYP_NOLOAD bit for .bss
	section.

	* atof-ieee.c, atof-ns32k.c, tc-*.c: made EXP_CHARS, FLT_CHARS,
	comment_chars, line_comment_chars and line_seperator_chars
	consistently const, and always initialized them.  Included read.h.
1992-11-10 18:17:00 +00:00
Ken Raeburn
df3768fb6c cpu32 and -mno-688?1 support from p3 1992-09-22 19:24:33 +00:00
Ian Lance Taylor
065b6303d0 Roll bask the WRS change, since it had already been applied, and the
reversed patch they sent blew my mind.
1992-09-22 15:32:03 +00:00
Ian Lance Taylor
25fb44628a Patches from WRS:
Mon Sep 21 14:44:17 1992  Ian Lance Taylor  (ian@cygnus.com)

	* tc-m68k.c (m68k_ip): fixed move16 operand handling, from WRS.
1992-09-21 22:31:41 +00:00
Steve Chamberlain
04b07d16c7 * tc-m68k.c (m68k_ip): An(disp) is not pc relative. 1992-09-18 15:03:59 +00:00
Ian Lance Taylor
3ad9ec6a7b Wed Sep 9 11:10:24 1992 Ian Lance Taylor (ian@cygnus.com)
* 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-09-09 18:38:16 +00:00
Ken Raeburn
e53ab768f4 from p3: +0.0 is a small integer, at least for moveq 1992-09-04 23:25:16 +00:00
Ken Raeburn
4134a793c7 * config/tc-m68k.c (init_table): Now const. Always include 68851
data, so that "bc" is available to 68040 cache instructions.  Added
"tt0", "tt1", and 68ec030 variants.
(md_assemble): Complain if 68000 (only) and 68881 are specified.
(enum _register): Added TT0, TT1.
(m68k_ip, cases '3' and 't'): Handle new operand type codes.  Pass
line number correctly in "internal error" messages.  Don't print
architecture-mismatch message for operand errors.

From Colin Smith (colin@wrs.com):
* config/tc-m68k.c (m68k_ip, case '_'): Use addword twice rather than
install_operand.
1992-08-26 04:08:45 +00:00
Ian Lance Taylor
148eb5dd61 Mon Aug 24 12:45:12 1992 Ian Lance Taylor (ian@cygnus.com)
* tc-m68k.c: use TARGET_CPU to choose default cpu type.

	* te-generic.h: default to LOCAL_LABELS_DOLLAR and LOCAL_LABELS_FB
	so that we can assemble hand-written libgcc code.
1992-08-24 19:48:54 +00:00