Commit Graph

10 Commits

Author SHA1 Message Date
Nick Clifton 9497f5ac6b This adjusts equate handling by
- allowing true forward references (which will always assume the referenced
  symbols have at the point of use) through the new .eqv pseudo-op and the
  new == operator
- disallowing changing .equiv-generated equates (so that the protection this
  provides is both forward and backward)
- snapshotting equates when their value gets changed so that previous uses
  don't get affected by the new value.
- allowing expressions in places where absolute expressions (or register
  names) are needed which were not completely resolvable at the point of
  their definition but which are fully resolvable at the point of use

In addition it fixes PR/288.
2005-10-11 11:16:17 +00:00
Nick Clifton 4b4da1607a Update the address and phone number of the FSF 2005-05-05 09:13:19 +00:00
Hans-Peter Nilsson ff1e783f27 * config/tc-mmix.c, config/tc-mmix.h: Convert to ISO C90. 2005-03-25 11:50:53 +00:00
Hans-Peter Nilsson 88fc725d2f Generate BFD_RELOC_MMIX_PUSHJ_STUBBABLE for PUSHJ when possible.
* doc/c-mmix.texi (MMIX-Opts): Document --no-pushj-stubs and
	--no-stubs.
	* config/tc-mmix.c: Include limits.h.  Expand on mmix_relax_table
	comment.
	(expand_op, mmix_next_semicolon_is_eoln): Fix head comment.
	(pushj_stubs): New variable.
	(OPTION_NOPUSHJSTUBS, STATE_PUSHJSTUB, PUSHJSTUB_MIN)
	(PUSHJSTUB_MAX): New macros.
	(md_longopts): New options "--no-pushj-stubs" and synonym
	"--no-stubs".
	(mmix_relax_table): Handle new entry for STATE_PUSHJSTUB.
	(md_parse_option): Handle OPTION_NOPUSHJSTUBS.
	(md_estimate_size_before_relax): Modify STATE_PUSHJ state for
	PUSHJ stub relaxation.
	(md_convert_frag): Handle STATE_PUSHJSTUB.
	(md_apply_fix3): Handle BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
	(tc_gen_reloc): Ditto.
	(mmix_md_relax_frag): Handle PUSHJ stub relaxation.
	* config/tc-mmix.h (TC_SEGMENT_INFO_TYPE): Define.
	(struct mmix_segment_info_type): New.
2003-10-18 15:53:40 +00:00
Hans-Peter Nilsson 3a99b99035 * config/tc-mmix.h (tc_frob_file_before_adjust): Don't declare.
(tc_frob_file_before_adjust): Don't define.
	* config/tc-mmix.c (mmix_frob_local_reloc): Remove unused
	function.
	(mmix_frob_file_before_adjust): Remove ineffective function.
2002-10-23 05:21:09 +00:00
Alan Modra a161fe5320 gas reloc rewrite. 2002-09-05 00:01:18 +00:00
Kazu Hirata a1b6236b7d * config/tc-mmix.c: Fix formatting.
* config/tc-mmix.h: Likewise.
2002-05-09 00:33:09 +00:00
Hans-Peter Nilsson 973eb3402f Support on-demand global register allocation by passing on
base-plus-offset relocs to the linker.
	* config/tc-mmix.c: Tweak and fix typos in comments.
 	(allocate_undefined_gregs_in_linker): New variable.
	(OPTION_LINKER_ALLOCATED_GREGS): New option macro.
	(md_longopts): Add --linker-allocated-gregs.
	(md_parse_option) <case 'x'>: Imply --linker-allocated-gregs.
	<case OPTION_LINKER_ALLOCATED_GREGS>: New.
	(md_show_usage): Update text for -x.  Add text for
	--linker-allocated-gregs.
	(tc_gen_reloc): Derive default value for addend from val and
	baddsy.  Use addsec and bfd_is_abs_section in more places.  Don't
	emit error for BFD_RELOC_MMIX_BASE_PLUS_OFFSET without suitable
	GREG if allocate_undefined_gregs_in_linker.
	* doc/as.texinfo (Overview) <Target MMIX options>: Add
	--linker-allocated-gregs.
	* doc/c-mmix.texi (MMIX-Opts): Add blurb about
	--linker-allocated-gregs.  Mention that it's implied by -x.
	(MMIX-Pseudos) <GREG>: Mention when and how a GREG can be omitted.
	(MMIX-mmixal): Clarify dated comparison and location of MMIXware.

	* config/tc-mmix.h (md_parse_name): Use ISUPPER, not isupper.
2002-02-01 08:09:47 +00:00
Nick Clifton 94f592af1b Update all uses of md_apply_fix to use md_apply_fix3. Make it a void function. 2001-11-15 21:29:00 +00:00
Nick Clifton 3c3bdf30e4 Add MMIX support 2001-10-30 15:20:14 +00:00