Commit graph

2865 commits

Author SHA1 Message Date
Martin Hunt
59808ea7c8 Wed Dec 18 15:27:40 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* tc-d10v.c (md_assemble): Fix bug which caused
	second instruction in a line to be case sensitize. PR11312
1996-12-18 23:38:41 +00:00
Martin Hunt
575453fb7d Wed Dec 18 15:27:40 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (md_assemble): Fix bug which caused
	second instruction in a line to be case sensitize. PR11312
1996-12-18 23:38:22 +00:00
Jeff Law
5545556dc8 * config/tc-mn10200.c (mn10200_insert_operand): Don't
range check operands with MN10200_OPERAND_NOCHECK set.
        (check_operand): Likewise.
So the assembler won't check on "and -1,dn".
1996-12-18 17:14:10 +00:00
Ian Lance Taylor
f5e38044df * config/tc-mips.c: Undo part of last Friday's alignment changes.
(md_begin): Always align the text section to a four byte
	boundary.
	(append_insn): Remove call to record_align.
1996-12-18 01:01:56 +00:00
Ian Lance Taylor
fbcfacb75d * config/tc-mips.c (insn_label): Remove.
(struct insn_label_list): Define.
	(insn_labels, free_insn_labels): New static variables.
	(mips_clear_insn_labels): New static function.
	(append_insn): Mark all mips16 text labels, and make them odd.
	Handle all labels after emitting a nop, not just one.  Call
	mips_clear_insn_labels rather than just clearing insn_label.
	(mips_emit_delays): Add insns parameter, and use it to decide
	whether to mark mips16 labels.  Handle all labels, not just one.
	Force mips16 labels to be odd.  Change all callers.
	(mips16_immed): Don't check for an odd branch target.
	(md_apply_fix): Don't check mips16 mode for a branch reloc.
	(mips16_extended_frag): Ignore the low bit in a branch target.
	(md_convert_frag): Likewise.
	(mips_no_prev_insn): Call mips_clear_insn_labels rather than just
	clearing insn_label.
	(mips_align, mips_flush_pending_output, s_cons): Likewise.
	(s_float_cons, s_gpword): Likewise.
	(s_align): Use insn_labels rather than insn_label.
	(s_cons, s_float_cons, s_gpword): Likewise.
	(mips_frob_file_after_relocs): New function.
	(mips_define_label): Rewrite to add to insn_labels list.
	* config/tc-mips.h (tc_frob_file_after_relocs): Define.
	* ecoff.c (ecoff_build_symbols): If the size of a function comes
	out odd, increment it.
1996-12-17 20:58:57 +00:00
Angela Marie Thomas
e682debfa3 fix typo 1996-12-17 20:02:15 +00:00
Ian Lance Taylor
c0dea4956d * config/tc-mips.c (mips16_ip): Check for a missing expression
when using the register indirect addressing mode.
1996-12-17 16:00:55 +00:00
Jeff Law
d4ba37afa0 * config/tc-mn10200.c (mn10200_insert_operand): Don't
check 24bit operands for overflow.
        (check_operand): Likewise.
1996-12-16 17:13:38 +00:00
Ian Lance Taylor
868c351306 * doc/as.texinfo (Section): Document how to use the .section
pseudo-op for COFF and ELF.
1996-12-16 16:54:10 +00:00
Ian Lance Taylor
6259c65f73 * write.c (adjust_reloc_syms): Fix linkonce check for ELF. 1996-12-15 20:27:08 +00:00
Ian Lance Taylor
c8f580cec6 mention mips16 1996-12-15 20:26:46 +00:00
Ian Lance Taylor
a677feeba4 * config/tc-mips.c (prev_insn_reloc_type): New static variable.
(RELAX_MIPS16_ENCODE): Add dslot and jal_dslot arguments, and
	store them.  Adjust other RELAX_MIPS16 macros.
	(RELAX_MIPS16_DSLOT): Define.
	(RELAX_MIPS16_JAL_DSLOT): Define.
	(append_insn): Pass new arguments to RELAX_MIPS16_ENCODE.  Correct
	handling of whether previous instruction has a fixup.  Set
	prev_insn_reloc_type.
	(mips_no_prev_insn): Clear prev_insn_reloc_type.
	(mips16_extended_frag): Use the right base address for a PC
	relative add or load.
	(md_convert_frag): Likewise.  If a PC relative add or load is
	used, record the alignment for the section.
1996-12-15 03:42:36 +00:00
Ian Lance Taylor
54815b9a08 * write.c (adjust_reloc_syms): Don't reduce a reloc against a
linkonce section into a reloc against the section symbol.
1996-12-13 18:27:28 +00:00
Ian Lance Taylor
8a8121d51b * config/tc-mips.c (mips16_macro): Remove nop instructions after
branch instructions.
1996-12-13 18:13:05 +00:00
Ian Lance Taylor
029b826182 * gas/mips/*.[sd]: Add explicit nops, sometimes controlled by
.ifdef, to accomodate change to avoid default alignment on
	embedded systems.
1996-12-13 18:06:41 +00:00
Ian Lance Taylor
08e17202ee * config/tc-mips.c (md_begin): If configured for an embedded ELF
system, don't set the section alignment to 2**4.
	(s_change_sec): Likewise.
	(append_insn): Call record_alignment for the section.
	(md_section_align): Don't align the section size for an embedded
	ELF system.
1996-12-13 18:02:35 +00:00
Ian Lance Taylor
8dd6fde3e5 * config/obj-coff.c (fixup_segment): Make sure that symbols are
resolved; expression symbols may have been skipped.
1996-12-12 22:41:22 +00:00
Ian Lance Taylor
73d2578427 * write.c (adjust_reloc_syms): Make sure that symbols are
resolved; expression symbols may have been skipped.
PR 11240.
1996-12-12 21:55:28 +00:00
Michael Meissner
a460cd7827 Support BFD_RELOC_24_PLT_PCREL relocation 1996-12-12 20:20:08 +00:00
Jeff Law
dfd832cb9b * gas/mn10300/basic.exp: Update after endianness changes to
the assembler.
1996-12-11 06:20:40 +00:00
Jeff Law
8ca7163145 * config/tc-mn10300.c (md_assemble): Update to handle endianness
issues correctly.
1996-12-11 06:19:43 +00:00
Martin Hunt
60b43c4bde Tue Dec 10 13:51:55 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (write_2_short): Remove code that called
	parallel_ok() when the programmer specified parallel instructions.
1996-12-10 21:53:34 +00:00
Ian Lance Taylor
9b2ac02954 * config/tc-mips.c (append_insn): Make sure there is enough room
in a frag after a mips16 instruction to switch it with a jump
	instruction.
1996-12-10 21:18:38 +00:00
Jeff Law
3b159258ad * gas/mn10200/{mov1.s,mov2.s,mov3.s,mov4.s,movx.s}: New tests.
* gas/mn10200/{movb.s, movbu.s}: Likewise.
        * gas/mn10200/basic.exp: Run them.
We correctly assemble & insert operands for all mn10200 instructions.
1996-12-10 20:06:33 +00:00
Jeff Law
42aa243574 * config/tc-mn10200.c (md_assemble): Opcode 0x0 is valid!
* config/tc-mn10300.c (md_assemble): Likewise.
Found by mn10200 gas testsuite.
1996-12-10 19:33:48 +00:00
Ian Lance Taylor
41a0ed225b * config/tc-mips.c (mips16_extended_frag): Give an error for an
attempt to use a non absolute symbol in an extending frag.
1996-12-10 16:38:22 +00:00
Ian Lance Taylor
a7dd20e839 * app.c (do_scrub_chars): At the end of a C comment, pass space to
UNGET rather than PUT.  Set old_state before setting state to -2.
PR 11229.
1996-12-10 03:47:41 +00:00
Jeff Law
9d49699b24 * gas/mn10200/*.s: New tests for the mn10200 assembler.
* gas/mn10200/basic.exp: Run them.
Tests for all instructions except mov*.
1996-12-10 00:14:35 +00:00
Jeff Law
dc1f8a2115 * config/tc-mn10200.c: Flesh out assembler support for MN10200.
* config/tc-mn10200.h: Likewise.
Actually assembles some mn10200 stuff (everything but mov* instructions!)
1996-12-09 23:53:37 +00:00
Ian Lance Taylor
559c664adb * config/tc-mips.c (mips16_extended_frag): Avoid an infinite loop
when extending because the value is exactly maxtiny + 1.
1996-12-09 23:34:20 +00:00
Ian Lance Taylor
8728fa9263 * config/tc-mips.c (RELAX_MIPS16_ENCODE): Add small and ext
arguments, and store them.  Adjust other RELAX_MIPS16 macros.
	(RELAX_MIPS16_USER_SMALL): Define.
	(RELAX_MIPS16_USER_EXT): Define.
	(mips16_small, mips16_ext): New static variables.
	(append_insn): Pass mips16_small and mips16_ext to
	RELAX_MIPS16_ENCODE.
	(mips16_ip): Set mips16_small and mips16_ext.
	(mips16_immed): Don't check mips16_autoextend.
	(mips16_extended_frag): Check USER_SMALL and USER_EXT.
1996-12-09 23:26:15 +00:00
Ian Lance Taylor
102633cecf * write.c (write_relocs): Print an error for an out of range
fixup, rather than calling abort.

	* as.c (main): Unlink the output file if there are errors while
	generating the fixups.
1996-12-09 22:11:24 +00:00
Ian Lance Taylor
f74ba7a3d9 * config/tc-mips.c (mips16_extended_frag): Don't call
S_GET_VALUE.
	(md_convert_frag): Call resolve_symbol_value before calling
	S_GET_VALUE, and don't add in the frag address.
1996-12-07 00:32:05 +00:00
Ian Lance Taylor
15e69f9816 * config/tc-mips.c (mips16_immed): Add file and line parameters,
and use them when reporting errors.  Change all callers.
1996-12-06 23:51:01 +00:00
Jeff Law
ca82e4ebdb * config/tc-mn10300.c: Fix various gcc -Wall warnings.
Remove '$' prefixing for registers.
1996-12-06 22:44:30 +00:00
Jeff Law
8fbb3e909a * gas/mn10300/*.s: Remove '$' register prefixing. 1996-12-06 22:39:18 +00:00
Martin Hunt
f787a8d9b8 Fri Dec 6 00:55:48 1996 Martin <hunt@cygnus.com>
* config/tc-d10v.c (md_assemble): Check to see if prev_seg
	is initialized before using it.
	(d10v_cleanup): No longer uses its argument, so make it void.

	* config/tc-d10v.h (d10v_cleanup): Change prototype.
1996-12-06 09:13:25 +00:00
Michael Meissner
6cc03ed378 Fix recent breakage 1996-12-06 04:46:19 +00:00
Ian Lance Taylor
00a69b895a * write.c (fixup_segment): Don't discard the symbol for a PC
relative fixup to an absolute symbol.
PR 11204.
1996-12-05 16:06:14 +00:00
Martin Hunt
fa1e3be84c Wed Dec 4 15:42:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* tc-d10v.c (md_assemble, d10v_cleanup): Fix bug
	with multiple sections.
1996-12-04 23:47:30 +00:00
Martin Hunt
996bee906f Wed Dec 4 15:42:41 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (md_assemble, d10v_cleanup): Fix bug
	with multiple sections.
1996-12-04 23:47:16 +00:00
Ian Lance Taylor
943321c07d * config/tc-mips.c (md_longopts): Rename mips-16 to mips16, and
no-mips-16 to no-mips16.
	(s_mipsset): Accept .set mips16 and .set nomips16.
1996-12-04 18:01:48 +00:00
Michael Meissner
8b1e9f129b Allow foo@suffix+constant relocations 1996-12-04 15:42:14 +00:00
Michael Meissner
b61802e7cb Add -m{,no-}solaris support to enable/disable solaris comments & setting ppc flags 1996-12-04 04:26:04 +00:00
Jeff Law
a9f2e3e24f * config/tc-mn10300.c (tc_gen_reloc): Get the addend from
fx_offset, not fx_addnumber.

Along with some simulator, compiler, bfd changes this fixes 90 or so
c-torture execution failures.
1996-12-02 07:41:52 +00:00
Jeff Law
5840a0e553 * config/tc-mn10300.h (tc_fix_adjustable): Don't do any
reloc adjustments.
reloc adjusting is of minimal value, and quite problematical for
machines which do linker relaxing...
1996-12-02 04:50:26 +00:00
Ian Lance Taylor
b608274a89 Sat Nov 30 17:34:48 1996 Eliot Dresselhaus <eliot@wally.edc.com>
* config/tc-i386.c: Correct misspelling: balenced to balanced.
1996-11-30 22:35:57 +00:00
Ian Lance Taylor
caeea0b47b * config/tc-mips.c (md_section_align): Check for an alignment of
4, not an alignment of 16.  Corrects August 7 patch.
1996-11-27 18:32:52 +00:00
Ian Lance Taylor
775c64a97f * configure, conf.in: Rebuild with autoconf 2.12. 1996-11-26 22:08:11 +00:00
Ian Lance Taylor
c830c9ead7 * config/tc-ppc.c (ppc_elf_lcomm): Don't give an error if no
alignment is specified.
PR 11164.
1996-11-26 20:42:34 +00:00