Commit Graph

1629 Commits

Author SHA1 Message Date
Ian Lance Taylor
3b320c48cf * config/tc-mips.c (md_apply_fix): Make a branch to an odd address
an error rather than a warning.
1997-01-28 21:09:52 +00:00
Ian Lance Taylor
31a2c6ffd7 * config/tc-mips.c (md_convert_frag): If the user explicitly
requested an extended opcode, pass warn as true to mips16_immed.
1997-01-28 20:37:27 +00:00
Ian Lance Taylor
645cb4dc28 * config/tc-mips.c (mips16_ip): Handle a missing expression like
an explicit 0, so that explicitly extended instructions work
	correctly.
1997-01-28 20:28:18 +00:00
Ian Lance Taylor
0192b099bd * ecoff.c (ecoff_build_symbols): Don't generate a local ECOFF
symbol for a common symbol.
1997-01-27 22:41:43 +00:00
David Edelsohn
f7ab94418c Patch presumed to have been checked in awhile ago but wasn't.
Mon Nov 25 10:45:14 1996  Doug Evans  <dje@seba.cygnus.com>
	* write.c: Delete "ifndef md_relax_frag" around is_dnrange.
	(relax_segment, case rs_org): Move code inside braces.  Move locals
	target,after inside too.
	(relax_segment, case rs_machine_dependent): Guts moved to ...
	(relax_frag): New function.
	Call md_prepare_relax_scan if defined.
1997-01-22 18:41:50 +00:00
Ian Lance Taylor
b3a64736a1 * config/tc-mips.c (md_begin): Don't set SEC_ALLOC or SEC_LOAD for
the .reginfo or .MIPS.options section if configured for an
	embedded target.
1997-01-20 19:27:11 +00:00
J.T. Conklin
0ce48081b2 * config/tc-m68k.c (m68k_ip): Reject pc-relative addresses for the
'p' operand specifier.
1997-01-20 19:00:03 +00:00
J.T. Conklin
ffecfc8b60 * config/tc-m68k.c (HAVE_LONG_BRANCH): New macro, returns true for
m68k family cpus which support long branch addressing modes.
(m68k_ip, md_convert_frag_1, md_estimate_size_before_relax,
md_create_long_jump): Use it.
1997-01-20 18:47:48 +00:00
Ian Lance Taylor
c36a90ef65 * config/tc-mips.c (md_begin): Don't set interlocks for
mips_4650.
PR 11507.
1997-01-20 17:43:43 +00:00
Ian Lance Taylor
ad423373db * read.c (read_a_source_file): Make sure the symbol ends with
whitespace before checking whether the next character is '='.
PR 11461.
1997-01-15 18:52:53 +00:00
Ian Lance Taylor
03b240371f * config/tc-i386.c (sco_id): Moved from here...
* config/obj-elf.c (sco_id): ...to here.  Adding the identifier
	really is an SCO ELF specific thing, not just a SCO x86 specific
	thing.
1997-01-14 20:08:43 +00:00
Michael Meissner
4af93ad0dc Allow tic80-*-*, not just tic80-*-coff 1997-01-14 03:45:03 +00:00
Ian Lance Taylor
6468dabdec * read.c (emit_expr): Check for overflow of a negative value
correctly.
	* write.c (fixup_segment): Likewise.
	* config/obj-coff.c (fixup_segment): Likewise.
PR 11411.
1997-01-09 19:13:42 +00:00
Ian Lance Taylor
d703b5a783 * config/tc-m68k.c (struct label_line): Define.
(labels, current_label): New static variables.
	(md_assemble): Mark current_label as text, and clear it.
	(m68k_frob_label): New function.
	(m68k_flush_pending_output): New function.
	(m68k_frob_symbol): New function.
	* config/tc-m68k.h (tc_frob_label): Define.
	(md_flush_pending_output): Define.
	(tc_frob_symbol): Don't warn, just call m68k_frob_symbol.
	(tc_frob_coff_symbol): Likewise.
PR 11417.
1997-01-09 18:18:01 +00:00
Ian Lance Taylor
8ff750011b * read.c (read_a_source_file): When defining a macro in MRI mode,
don't add the symbol to the symbol table.
PR 11423.
1997-01-09 17:10:09 +00:00
Jeff Law
7899862954 * config/tc-mn10300.c (tc_gen_reloc): Handle sym1-sym2 fixups
here since fixup_segment doesn't (linkrelax is set).
        * config/tc-mn10200.c (tc_gen_reloc): Likewise.
Should fix line # stabs & block scope stabs.
1997-01-07 18:27:20 +00:00
Jeff Law
62b2acbabf * config/tc-mn10200.c (md_assemble): Tweak fx_offset for pc-relative
relocs.
Relocs for the mn10200.
1997-01-06 22:25:05 +00:00
Jeff Law
ac866582d9 * config/tc-hppa.c (struct hppa_fix_struct): Steak fx_r_field's type
to avoid warnings with the native HP compiler.
        (fix_new_hppa): Similarly for the r_type argument.
        (pa_build_unwind_subspace, hppa_elf_mark_end_of_function): Enclose
        in an #if OBJ_ELF to keep gcc -Wall quiet.
        (md_apply_fix): Always initialize "result".
Minor maintenance.

        * config/tc-mn10200.c (md_assemble): Generate relocations.
mn10200 has relocs now!
1997-01-03 23:55:22 +00:00
Ian Lance Taylor
79811f6f41 Fri Jan 3 18:17:23 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* config/tc-m68k.c (s_even): Adjust the alignment of the current
	section.
1997-01-03 23:20:21 +00:00
Ian Lance Taylor
3df036e9d2 tipo 1997-01-03 23:15:44 +00:00
Ian Lance Taylor
9f94df3847 * config/obj-coff.c (yank_symbols): If tc_frob_coff_symbol is
defined, call it.
	* config/tc-m68k.c (tc_frob_symbol): Check whether text label is
	aligned to odd boundary.
	(tc_frob_coff_symbol): Define.
1997-01-03 22:41:26 +00:00
Ian Lance Taylor
8185fc28bd revert last patch 1997-01-03 22:27:24 +00:00
Ian Lance Taylor
ba8f9c0955 Fri Jan 3 17:10:33 1997 Richard Henderson <rth@tamu.edu>
* config/obj-elf.c (elf_file_symbol): When using ECOFF debugging,
	pass on the new file hook.

	* config/tc-alpha.c (alpha_fix_adjustable): Not quite the same as
	!alpha_force_relocation, as local LITERALs can be adjusted to be
	relative to the section.
1997-01-03 22:13:05 +00:00
Ian Lance Taylor
039d5a6040 * doc/as.texinfo (Set): Change parenthesized @xref to @pxref. 1997-01-03 18:02:55 +00:00
Ian Lance Taylor
de9df5fa1d * config/tc-m68k.h (tc_frob_label): Define to warn about a
misaligned text label.  Based on patch from Ronald F. Guilmette
 	<rfg@monkeys.com>.
1997-01-03 17:50:06 +00:00
Ian Lance Taylor
7b0688dff7 * macro.c (macro_expand_body): In MRI mode, just copy a single &. 1997-01-03 17:40:43 +00:00
Ian Lance Taylor
2156d0d747 * config/tc-m68k.c (m68k_ip): Call frag_grow before adding a
PCINDEX frag.  From Ronald F. Guilmette <rfg@monkeys.com>.
1997-01-03 17:22:34 +00:00
Ian Lance Taylor
a78bc55196 * config/tc-m68k.c (m68k_ip): Accept 'B' as a size for an
immediate value.
	(md_assemble): If the size is 'B', set fx_signed.
	(md_apply_fix_2): Use fx_signed when checking for overflow.

	* write.h (struct fix): Add fx_signed field.
	* write.c (fix_new_internal): Initialize fx_no_overflow and
	fx_signed fields.
	(fixup_segment): Use fx_signed when checking for overflow.
	* config/obj-coff.c (fixup_segment): Check fx_no_overflow and
	fx_signed when checking for overflow.
1997-01-03 17:14:02 +00:00
Ian Lance Taylor
0abdf2800c * NOTES, NOTES.config: Removed. These are rarely, if ever,
updated, and all the useful information is in doc/internals.texi.
1997-01-03 03:13:47 +00:00
Ian Lance Taylor
a986926b11 Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
* read.c (read_a_source_file): Check for conditional operators
	before doing an MRI pending alignment.
	* config/tc-m68k.h (m68k_conditional_pseudoop): Declare.
	(tc_conditional_pseudop): Define.
	* config/tc-m68k.c (m68k_conditional_pseudop): New function.
	* doc/internals.texi (CPU backend): Describe
	tc_conditional_pseudoop.
1997-01-03 03:07:01 +00:00
Ian Lance Taylor
924160b0d6 Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
* config/tc-m68k.c (m68k_rel32_from_cmdline): New static
	variable.
	(md_begin): Check m68k_rel32_from_cmdline before setting
	m68k_rel32.
	(m68k_mri_mode_change): Likewise.
	(md_longopts): Add --disp-size-default-16 and
	--disp-size-default-32.
	(md_parse_option): Handle new options.
	(md_show_usage): Mention new options.
	* doc/c-m68k.texi (M68K-Opts): Document new options.
1997-01-03 00:03:28 +00:00
Ian Lance Taylor
b4d51f3dd4 Based on patch from Ronald F. Guilmette <rfg@monkeys.com>:
* config/tc-m68k.c (m68k_index_width_default): New static
	variable.
	(m68k_ip): Use m68k_index_width_default to set the size of a base
	register whose size was not given.
	(md_longopts): Add --base-size-default-16 and
	--base-size-default-32.
	(md_parse_option): Handle new options.
	(md_show_usage): Mention new options.
	* doc/c-m68k.texi (M68K-Opts): Document new options.
1997-01-02 23:48:20 +00:00
Ian Lance Taylor
103e1158ca * doc/c-mips.texi: Mention ISA level 4, and the -mips16 option. 1997-01-02 23:07:09 +00:00
Ian Lance Taylor
e16b9537c1 * configure.in: Recognize mips-*-linux* target.
* configure: Rebuild.
1997-01-02 21:53:52 +00:00
Ian Lance Taylor
a162a49000 * config/tc-mips.c (load_register): Rewrite 64 bit handling to
work if valueT is only 32 bits.
1997-01-02 21:51:58 +00:00
Ian Lance Taylor
b9129c6fcd * config/tc-mips.c: Throughout, check target_big_endian rather
than byte_order.
 	(byte_order): Remove.
	(mips_init_after_args): Remove.
	* config/tc-mips.h (LITTLE_ENDIAN, BIG_ENDIAN): Don't define.
	(mips_init_after_args): Don't declare.
	(tc_init_after_args): Don't define.

	* config/tc-mips.h (tc_frob_after_relocs): Define if
	OBJ_MAYBE_ELF.
	(mips_elf_final_processing): Likewise.
	(ELF_TC_SPECIAL_SECTIONS): Likewise.
1997-01-02 20:13:05 +00:00
Ian Lance Taylor
20868ec647 * read.c (read_a_source_file): Check mri_pending_align after
checking for a macro.  From Ronald F. Guilmette
	<rfg@monkeys.com>.
1996-12-31 22:11:23 +00:00
Ian Lance Taylor
6ded661565 * Makefile.in (ALL_CFLAGS): Add -D_GNU_SOURCE. 1996-12-31 20:43:28 +00:00
Michael Meissner
6e7d54625f Fix relocatable tda offsets with non-zero addends 1996-12-31 20:14:21 +00:00
Ian Lance Taylor
38fc0ba614 * config/tc-sparc.c (md_apply_fix3): Rename from md_apply_fix, and
add segment argument.  If OBJ_ELF, treat a relocation against a
 	symbol in a linkonce section like a relocation against an external
 	symbol.
	* config/tc-sparc.h (MD_APPLY_FIX3): Define.
1996-12-31 18:03:09 +00:00
Ian Lance Taylor
18e0764dd5 * config/tc-mips.c (mips16_macro): Add case for M_ABS. 1996-12-30 16:36:37 +00:00
Fred Fish
6455664321 * NOTES.config (Implementation): as.h #define's "GAS" not "gas",
includes config.h instead of host.h, tc.h instead of tp.h, and
	targ-env.h instead of target-environment.h.
	Also, obj-format.h includes targ-cpu.h instead of
 	target-processor.h.
start-sanitize-tic80
	(Laying groundwork, that will be incrementally fleshed out,
	 for TIc80 support)
	* configure.in (case ${generic_target}): Add tic80-*-coff entry.
	* configure: Rebuild with autoconf.
	* config/obj-coff.h (coff/tic80.h): Include if TC_TIC80 defined.
	(TARGET_FORMAT): Define to "coff-tic80".
	* config/tc-tic80.c: New file for TIc80 support.
	* config/tc-tic80.h: New file for TIc80 support.
end-sanitize-tic80
1996-12-28 05:59:26 +00:00
Ian Lance Taylor
7d99e8afc3 * doc/as.texinfo (M): Mention explicitly that -M changes macro
handling.
PR 11259.
1996-12-27 16:43:15 +00:00
Stan Shebs
51cd0ae7db * mpw-make.sed: Use NewFolderRecursive for installation. 1996-12-19 19:29:38 +00:00
Ian Lance Taylor
9c199842e5 * write.c (adjust_reloc_syms): If the fixup symbol has been
equated to an undefined symbol, convert the fixup to being against
	the target symbol.  Remove obsolete code handling a special case
	for i386 PIC.
1996-12-19 17:07:14 +00:00
Martin Hunt
cb07aaeb2b Wed Dec 18 16:00:42 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (do_assemble): Correct previous bug fix.
1996-12-19 00:01:58 +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