This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH, POINTER] Let gas support mips64
- To: binutils at sources dot redhat dot com
- Subject: Re: [PATCH, POINTER] Let gas support mips64
- From: Thiemo Seufer <ica2_ts at csv dot ica dot uni-stuttgart dot de>
- Date: Tue, 26 Jun 2001 18:36:12 +0200
Thiemo Seufer wrote:
[snip]
> > It's a style issue, not a semantic issue. valueT and addressT are
> > simply typedefs for bfd_vma--see as.h.
>
> I see. I change my patch accordingly, it's available at the same
> URL as before.
I changed the patch once more to get the setting of n32 ABI
flag right. Due to its size (84 kb) it's available at
http://www.csv.ica.uni-stuttgart.de/homes/ths/linux-mips/cygnus-gas-mips64.diff-2
Thiemo
2001-06-26 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.
(RELAX_ENCODE): Replace bfd_vma by valueT.
(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.
(mips_elf_final_processing): Set EF_MIPS_ABI2 flag for n32 ABI.
(md_obj_end): Remove ugly `' in message string. :-)
(s_mips_end): Remove unused variables.
(s_mips_ent): Remove ugly `' in message string.