Subject: Re: EGCS enabled on mips
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-toolchain
Date: 11/01/1998 15:08:13
Maybe i misunderstod the source. Mouse, could you take a look at the
fucntion _bfd_mips_elf_lo16_reloc in usr/src/gnu/dist/bfd/elf32-mips.c?

i think the relevant fragment is where the code says its modifying the
bits in the `hi' instruction to reflect any carry out of 16 bits from
the addend and the reloc in the matching %lo.  Around line 929.
looks like its modifying the actual isntruction field to me.
what do you think?

(no sarcasm, to mouse or anyone else.  I have a nasty cold, perhaps
completely missing the boat here.)

i  dont  knoww what the SGI assembler/ABI constraitns are here.
Maybe they permit (foul) code like
	    lui reg, %hi(sym); addiu reg %lo(sym + <small-constant>),

if so, theres really no alternative to doing the grovelling.