Commit graph

3434 commits

Author SHA1 Message Date
Doug Evans
070937ba64 Based on a patch from Ian.Dall@dsto.defence.gov.au.
* as.h (struct frag, frag support): Moved from here.
	* frags.h: To here.
	(struct frag, member tc_frag_data): New member if TC_FRAG_TYPE
	is defined.
	(struct frag, member fr_cgen): Renamed from fr_targ.cgen.
	* cgen.c (cgen_asm_finish_insn): Update.
	* config/tc-m32r.c (md_estimate_size_before_relax): Update.
	* config/tc-m32r.h (TC_FRAG_INIT): Renamed from md_init_frag.
	(md_convert_frag): Ditto.
	* config/tc-ns32k.h (TC_FRAG_TYPE): Define.
	(frag_opcode_frag,frag_opcode_offset,frag_bsr): Update.
	(TC_FRAG_INIT): Update.
1997-11-05 21:05:08 +00:00
Doug Evans
269bbc74e0 (struct frag): Delete docs for fr_opcode_frag, fr_opcode_offset, fr_bsr.
Add docs for tc_frag_data.
1997-11-05 18:56:26 +00:00
Doug Evans
44f5c4d7bc Document TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT. 1997-11-05 01:04:45 +00:00
Doug Evans
d57d82d7e5 * write.c (print_fixup): Use TC_FIX_DATA_PRINT (if defined) to
print out MD fields of fix.
	* frags.c (frag_var, frag_variant): Use TC_FRAG_INIT macro (if
 	defined) to initialize MD fields in frag.
	* as.h (struct frag, ns32k support): Rename ns32k to fr_ns32k.
	Delete pcrel_adjust.  Add fr_opcode_fragP, fr_opcode_offset.
	* config/tc-ns32k.h: Add comments. Remove obsolete
 	BFD_FAST_SECTION_FILL definition, change prototypes for
 	fix_new_ns32k and fix_new_ns32k_exp to add new arguments
 	opcode_frag and opcode_offset and remove pcrel_adjust.
	(TC_FIX_TYPE): add opcode_fragP and opcode_offset fields.
	(TC_FIX_DATA_PRINT): new macro to print out TC_FIX_TYPE.
	(TC_FRAG_INIT): new macro to initialize machine dependent field in
 	frags.
	(frag_opcode_frag, frag_opcode_offset, frag_bsr): macros to access
 	MD fields in frag structure.
	(fix_im_disp, fix_bit_fixP, fix_opcode_frag, fix_opcode_offset,
 	fix_bsr): macros to access MD fields in fix structure.
	* config/tc-ns32k.c: Avoid overlength lines. Align comments.  Don't
 	use struct opcode_location as these fields are now in the frag
	structure.
	(convert_iif): Call frag_more as it is needed instead
 	of trying to allocate for the whole insn. Avoid call of frag_more
 	with negative argument.
	(md_pcrel_adjust, md_fix_pcrel_adjust, md_apply_fix,
	md_estimate_size_before_relax, md_pcrel_from,
	tc_aout_fix_to_chars): use accessor macros to get md fields in fix
 	and frag structures.
	(fix_new_ns32k, fix_new_ns32k_exp): add new arguments opcode_frag and
	opcode_offset and remove pcrel_adjust.
	(convert_iif, cons_fix_new_ns32k): call fix_new_ns32k,
 	fix_new_ns32k_exp with changed arguments.
1997-11-05 00:45:23 +00:00
Doug Evans
86cb8d868d Update ns32k docs. 1997-11-05 00:15:22 +00:00
Gavin Romig-Koch
d66e8c4bef Correct sanitation for tx49. 1997-11-03 19:44:49 +00:00
Gavin Romig-Koch
1724c79e75 * tc-mips.c (md_begin): Reorganize setting of default values so
that mips_cpu depends on TARGET_CPU, and mips_opts.isa depends on
	   mips_cpu.
	   (md_parse_option): Remove all code that sets defaults; md_begin
	   handles all of this now.
1997-11-03 19:32:42 +00:00
Ian Lance Taylor
0ac53ff04d * Makefile.am (STAGESTUFF): Change bin_PROGRAMS to
noinst_PROGRAMS.
	(bootstrap, bootstrap2, bootstrap3): Likewise.
	* Makefile.in: Rebuild.
1997-11-02 19:49:24 +00:00
Ken Raeburn
aa2e0460a0 * config/tc-mips.c (mips_5400): New variable.
(md_begin, md_parse_option): Handle 5400 options/names.
(macro_build, mips_ip): Check for 5400-specific instructions.
(md_longopts, OPTION_M5400, OPTION_NO_M5400): More command-line support for
5400.

* config/tc-mips.c (validate_mips_insn): New function, checks match versus mask
bits, and also verifies that all bits to be output are actually specified
somewhere.
(md_begin): Call it for 32-bit instructions, instead of doing match/mask check
here.  In case of failure, print a message, but check the rest of the opcode
table before exiting.
1997-10-31 23:21:44 +00:00
Nick Clifton
6e3fcdf01c Fixes to Thumb ADR pseudo op from Tony Thompson at ARM (athompso@arm.com). 1997-10-30 21:44:05 +00:00
Ian Lance Taylor
605ca21a04 add tx49 sanitization 1997-10-30 16:38:29 +00:00
Michael Meissner
42cf65557e Allow odd registers for ld2w and friends 1997-10-30 16:12:36 +00:00
Gavin Romig-Koch
4ebda395f1 * config/tc-mips.c (hilo_interlocks): True for tx49.
(md_begin): Add mips64tx49.
	(md_parse_option): Add 4900 cpu.

	* gas/mips/mips.exp: Add tx49 configury.
1997-10-29 21:40:09 +00:00
Ian Lance Taylor
e59390a7eb * config/tc-ppc.c (md_assemble): When handling @l, always sign
extend if the operand expects a signed value.
PR 13667.
1997-10-24 21:29:10 +00:00
Ian Lance Taylor
c14d0cc015 * config/tc-mips.h (LOCAL_LABELS_DOLLAR): Don't define; use
default which is to permit dollar labels.
PR 13645.
1997-10-24 20:03:16 +00:00
Richard Henderson
1bb6aaad34 Fri Oct 24 11:19:22 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
* config/tc-sparc.c (sparc_memory_model): New variable.
        (md_longopts): Add -TSO/-PSO/-RMO options.
        (md_parse_options): Handle them.
        (sparc_elf_final_processing): For 64 ELF, set required
        memory ordering in e_flags. Default to RMO and let the user
        override it through command line.

        * config/tc-sparc.h (elf_tc_final_processing): Add.
1997-10-24 18:20:36 +00:00
Richard Henderson
1277cdda1c * config/tc-sparc.c (v9a_asr_table): New variable.
(sparc_ip): Handle v9a asr's.
        Patch from David Miller <davem@vger.rutgers.edu>.
1997-10-23 00:40:25 +00:00
Richard Henderson
7532235c09 * config/tc-sparc.h (md_do_align): New macro.
* config/tc-sparc.c (sparc_handle_align): Handle rs_align_code.
        Patch from Jakub Jelinek <jj@sunsite.mff.cuni.cz>.
1997-10-23 00:22:51 +00:00
Ken Raeburn
01c655cc45 sanitize law's 15 jul r5900 change 1997-10-22 21:34:33 +00:00
Ian Lance Taylor
82b4217bfd * config/tc-sh.c (sh_small): New variable.
(OPTION_SMALL): Define.
	(md_longopts): Add "small".
	(md_parse_option): Handle OPTION_SMALL.
	(md_show_usage): Mention -small.
	* config/tc-sh.h (sh_small): Declare.
	(SUB_SEGMENT_ALIGN): Handle sh_small.
	* config/obj-coff.h (TARGET_FORMAT): Check sh_small in TC_SH
	case.
PR 13580.
1997-10-22 20:13:54 +00:00
Ian Lance Taylor
517640d9b5 * config/tc-mips.c (macro): Correct handling of constant in M_LI_D
case in little endian mode.
1997-10-22 16:52:46 +00:00
Doug Evans
61a60a8a70 * config/tc-sparc.c (md_apply_fix3, cases ..._H44, ..._HIX22): Leave
overflow signalling to linker.
1997-10-21 17:23:12 +00:00
Doug Evans
70ee778220 * configure.in (sparc64): Set arch to v9-64.
* configure: Regenerated.
1997-10-20 20:02:28 +00:00
Ian Lance Taylor
9659c18b39 Various fixes for openvms/alpha. 1997-10-20 19:43:05 +00:00
Ian Lance Taylor
71e0e8f9e8 Mon Oct 20 14:54:06 1997 Klaus K"ampf <kkaempf@progis.de>
* config/obj-evax.c: support .weak pseudo-op
1997-10-20 18:56:21 +00:00
Doug Evans
595da85d72 * tc-sparc.c (default_arch_size): New static local.
(struct sparc_arch): Rename arch_size to default_arch_size.
	New member user_option_p.
	(sparc_arch_table): Always include v9, v9a.  New entry v9-64.
	(init_default_arch): Check whether default arch is valid.
	Set default_arch_size in addition to sparc_arch_size.
	(OPTION_32,OPTION_64): Define.
	(md_longopts): New entries for -32, -64.
	(md_parse_option): Handle them.
	(md_show_usage): Print them.  Ensure init_default_arch called.
1997-10-20 17:23:10 +00:00
Ian Lance Taylor
66a6a38139 * write.c (subsegs_finish): New function, broken out of
write_object_file.
	(write_object_file): Some code moves into subsegs_finish.
	* write.c (subsegs_finish): Declare.
	* as.c (main): Call subsegs_finish.
Fixes last frag when generating a listing for a file with an error.
1997-10-19 18:14:01 +00:00
Ian Lance Taylor
891a158431 * read.c (s_include): Check for error return from
demand_copy_string.
PR 13566.
1997-10-19 17:51:31 +00:00
Jeff Law
f08be001ae * gas/ieee-fp/x930509a.s: Tweak slightly to work on the PA.
[ pseudo-ops and directives must not start in column zero on the PA. ]
1997-10-15 16:40:48 +00:00
Jeff Law
e35cf6e4e9 * gas/hppa/unsorted/unsorted.exp: Update for recent disassembler
changes.
1997-10-15 16:37:03 +00:00
Richard Henderson
08ce71f5c4 * read.c (get_line_sb): Accept any eol marker while scanning macros. 1997-10-15 03:56:30 +00:00
Richard Henderson
10b8f7f036 * config/tc-alpha.h (DIFF_EXPR_OK): Define.
* config/tc-i386.h (DIFF_EXPR_OK): Define.
        * config/tc-alpha.c (md_apply_fix): Notice fx_pcrel and substitute
        the correct relocation when it exists.
        * config/tc-i386.c (md_apply_fix3): Likewise.
        * config/tc-ppc.h: Correct typo in comment.
        * config/tc-v850.h: Likewise.
1997-10-15 02:17:00 +00:00
Andrew Cagney
a0a5f4e2bd Allow assembler to make parallel instructions where there the seconds
(latter) outputs intersect with the first (earlier) inputs.
1997-10-13 23:17:22 +00:00
Richard Henderson
856f843eef * ecoff.c (PAGE_SIZE): Double to 8k as a hack to allow some C++
templated programs to build with -g.
1997-10-13 22:28:35 +00:00
Nick Clifton
de0e22c1bf Added .tcomon section initialisation. 1997-10-11 01:02:07 +00:00
Nick Clifton
c280609300 Jim fixed the fixups for conditional and unconditional branches.
Added code to support the bss and common sections in thr ZDA and SDA areas.
1997-10-11 00:55:57 +00:00
David Edelsohn
e01e18a8b3 * configure.in (sparc): Set DEFAULT_ARCH from correct target.
* configure: Regenerated.
1997-10-10 22:02:59 +00:00
Martin Hunt
b83565def8 Fri Oct 10 11:22:45 1997 Martin M. Hunt <hunt@cygnus.com>
* config/tc-d10v.c: Fixes to make sure the AT_WORD
	expression is not confused with -1.
1997-10-10 18:22:59 +00:00
Andrew Cagney
528859ea3f Flag SP as modified for @-sp operand - OPERAND_ATMINUS. 1997-10-10 05:59:16 +00:00
Michael Meissner
719ddab4cc Do not allow auto inc/dec to parallelize with an instruction that uses the index register 1997-10-10 04:50:36 +00:00
David Edelsohn
2feb07dc3f * gas/sparc/set64.[sd]: `set' doesn't take negative arguments. 1997-10-10 01:19:45 +00:00
Ian Lance Taylor
15ab76e50d From Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au>:
* config/tc-m68k.c (archs): Add 68306, 68307, 68322, 68356, 68334,
	68336, 68341, 68349.
	* doc/c-m68k.texi (M68K-Opts): Add -m68ec000 -m68hc000 -m68hc001
	-m68306, -m68307, -m68322, -m68356, -m68ec020, -m68ec030,
	-m68ec040, -m68ec060, -m68330, -m68334, -m68336, -m68341,
	-m68349.
1997-10-09 19:30:16 +00:00
Ian Lance Taylor
57f269b1c0 * doc/Makefile.am (CPU_DOCS): Define.
(as.info): Depend upon $(CPU_DOCS).
	* doc/Makefile.in: Rebuild.
1997-10-09 19:22:15 +00:00
Ian Lance Taylor
ed1ed9f9dc * configure.in: Remove AM_PROG_INSTALL; it's called by
AM_INIT_AUTOMAKE.
	* configure: Rebuild.
1997-10-09 19:20:14 +00:00
Joern Rennecke
c7b2ac2856 * config/tc-d10v.c (write_2_short): Fix bug that wouldn't allow
to pair a branch and link with anything but an exe instruction.
Fix for gas/13494.
1997-10-09 18:37:16 +00:00
Joern Rennecke
d78d367107 * tc-d10v.h (TC_START_LABEL): Don't define.
(tc_frob_label): Define.
Fix for gas/13307.
1997-10-09 18:28:59 +00:00
Frank Ch. Eigler
bda3fc0083 * gas/sparc/set64.d: Update for recent disassembler changes.
* gas/sparc/splet.d: Likewise.
1997-10-09 18:04:54 +00:00
Ian Lance Taylor
c7020f0843 * gas/arm/arm7t.d: Update for recent disassembler changes.
* gas/h8300/ffxx1.d: Likewise.
1997-10-09 17:01:48 +00:00
Richard Henderson
8a8a91a5b7 * config/tc-alpha.c (load_expression): Disable the sym+const .got
optimization to reduce the alignment surprises for gcc.
1997-10-08 23:40:54 +00:00
David Edelsohn
8ac26d165e * gas/sparc/reloc64.[sd]: Add testcases for %hix,%lox. 1997-10-08 23:24:06 +00:00