Ian Lance Taylor 0dd2d296fc * config/tc-mips.c: Check ECOFF_DEBUGGING rather than
OBJ_ECOFF in many cases.
	(mips_any_noreorder): New variable.
	(mips_cprestore_offset): Initialize to -1.
	(mips_frame_reg): New variable.
	(RELAX_ENCODE, RELAX_OLD, RELAX_NEW, RELAX_RELOC1,
	RELAX_RELOC2, RELAX_RELOC3, RELAX_WARN): New macros.
	(md_pseudo_table): Handle "gpword" and "cpadd".
	(md_begin): Initialize ok to false.  If OBJ_ELF, set alignment
	of text, data and bss sections to 4.  Set alignment of
	.reginfo section to 2.  If ECOFF_DEBUGGING, create .mdebug
	section.
	(ALIGN_ERR, ALIGN_ERR2): Removed unused and useless alignment
	check.
	(append_insn, macro_build, macro_build_lui): Take place
	argument.  Changed all callers.
	(append_insn): If appending a nop, don't emit one.
	(macro_build): Changed assertion for 'i', 'j', 'o' case.
	(gp_reference): Removed.
	(load_address): New function.
	(macro): If mips_noreorder is used, set mips_any_noreorder.
	Extensive changes to handle GP and PIC symbols differently.
	Build both possible code choices using a variant frag, and
	make a final decision at the end of assembly when all
	information is known.  Added PIC support for all symbol
	references.
	(mips_ip): Don't permit anything but a number after $ for a
	coprocessor register.  Don't use .lit4 or .lit8 sections when
	generating PIC code.  If OBJ_ELF, set alignment of .lit4 or
	.lit8 section to 4.
	(md_apply_fix): Accept and ignore GOT16 and GPREL32 relocs.
	(s_change_sec): Set alignment of ELF .rodata or .sdata section
	to 4.
	(s_mipsset): If .set noreorder, set mips_any_noreorder.
	(s_cpload): Ignore .cpload if not generating PIC code.  Warn
	if .cpload is not in noreorder section.
	(s_cprestore): Ignore .cprestore if not generating PIC code.
	(s_gpword, s_cpadd): New functions.
	(tc_get_register): Added frame argument; if true, set
	mips_frame_reg to return value.  Changed all callers.
	(md_estimate_size_before_relax): Don't error out, but instead
	determine how much a frag should grow.
	(tc_gen_reloc): Return multiple relocs if appropriate, as
	determined by md_estimate_size_before_relax.
	(md_convert_frag): New function.
	(mips_elf_final_processing): Set ELF header flags based on
	mips_any_noreorder and mips_pic.
	* config/tc-mips.h (RELOC_EXPANSION_POSSIBLE): Define.
	(MAX_RELOC_EXPANSION): Define to be 3.
	(md_relax_frag): Define to be 0.
	(md_convert_frag): Don't define.
	(tc_get_register): Changed declaration.
1993-11-18 18:56:31 +00:00
..
1992-02-27 18:52:18 +00:00
1992-05-05 14:23:33 +00:00
1993-02-08 19:17:29 +00:00
1991-10-21 16:31:43 +00:00
1993-07-07 16:14:44 +00:00
1993-04-02 18:42:37 +00:00
1993-02-08 19:20:27 +00:00
1992-02-13 08:39:15 +00:00
1992-02-13 08:39:15 +00:00
1993-10-11 21:12:37 +00:00
1992-12-03 23:45:34 +00:00
1992-12-03 23:48:47 +00:00
1991-12-01 07:11:25 +00:00
1992-02-13 08:39:15 +00:00
1993-09-14 17:58:35 +00:00
1993-09-14 17:58:35 +00:00
1993-09-14 17:58:35 +00:00
1993-09-14 17:58:35 +00:00
1993-04-27 01:32:09 +00:00
1992-08-11 17:00:47 +00:00
1993-07-22 18:02:01 +00:00
1992-02-24 18:25:19 +00:00
1993-10-12 08:45:49 +00:00
1993-07-02 01:33:33 +00:00
1992-02-17 15:54:49 +00:00
1993-10-12 08:45:49 +00:00
1993-06-30 10:30:54 +00:00
1993-06-30 10:30:54 +00:00
1993-07-07 16:17:29 +00:00
1992-12-03 23:41:18 +00:00
1992-08-25 22:12:54 +00:00
1993-05-05 12:41:52 +00:00
1993-05-05 12:43:06 +00:00
1992-02-21 11:37:01 +00:00
1992-12-03 23:52:26 +00:00
1992-02-13 08:39:15 +00:00