This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH, POINTER] Let gas support mips64


Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> writes:

> Hi All,
> 
> This patch adds support for mips64 to gas. Testcases are not provided for
> 64bit case because of the necessary bfd and binutils changes (which aren't
> done in a acceptable way yet).
> 
> btw:
> At least for configuration mips64-linux, current CVS fails the
> 'make check' in gas for test 'MIPS ELF reloc 3'. The patch does not
> change this behaviour.
> 
> 
> Thiemo
> 
> 
> 2001-06-18  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
> 
> 	/gas/ChangeLog
> 	* config/tc-mips.h (MAX_GPREL_OFFSET): Changed from the first invalid
> 	value to the maximum value.
> 	* config/tc-mips.c (USES_32BIT_REGS): Define.
> 	(USES_64BIT_ADDRESSES): Define.
> 	(S_EX_*): Declare.
> 	(append_insn): Add handling of mips64 relocs.
> 	(macro_build): Likewise. Replace numeric constants by defines. Move
> 	insertion of immediate constants in case 'u' to append_insn().
> 	(load_register): Change register width check to use USES_32BIT_REGS.
> 	Fix handling of sign bit in 64bit constants.
> 	(load_address): Add parameters required to handle 64bit addresses.
> 	Add handling of 64bit addresses. Change register width check to use
> 	USES_32BIT_REGS. Change check for MAX_GPREL_OFFSET to fit the new
> 	value. Formatting.
> 	(macro): Change register width check to use USES_32BIT_REGS.
> 	Formatting. Typos. Add handling of 64bit addresses. Some code cleanup.
> 	Change check for MAX_GPREL_OFFSET to fit the new value.
> 	(macro2): Formatting. Change register width check to use
> 	USES_32BIT_REGS. Warn on used $at in M_UL[DW] case. Change calls to
> 	load_address().	Mark M_USD_A as double value.
> 	(mips16_macro): Formatting.
> 	(mips_ip): Replace numeric constants by defines. Change register width
> 	check to use USES_32BIT_REGS. Use new return values of
> 	my_getSmallExpression() instead of characters. Add mips64 relocation
> 	handling.
> 	(LP): Remove.
> 	(RP): Remove.
> 	(my_getSmallExpression): Rewritten to allow arbitrary upper/lowercase,
> 	return more useful values and support mips64 relocations.
> 	(md_parse_option): Use TE_TMIPS conditional as in other places.
> 	(md_apply_fix): Preliminary support for mips64 relocations.
> 	Fix bad JMP argument generation.
> 	(s_cprestore): Change register width check to use USES_32BIT_REGS.
> 	(s_cpadd): Likewise.
> 	(md_estimate_size_before_relax): Code cleanup.
> 	(md_obj_end): Remove ugly `' in message string. :-)
> 	(s_mips_end): Remove unused variables.
> 	(s_mips_ent): Remove ugly `' in message string.
> 
> 
> Because of it's size (82689), the actual patch is provided at
> http://www.csv.ica.uni-stuttgart.de/homes/ths/linux-mips/cygnus-gas-mips64.diff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]