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.