[patch] MIPS: Incorrect calculation for R_MIPS_LO16 relocs
Paul Koning
pkoning@equallogic.com
Wed Jun 30 20:32:00 GMT 2004
I didn't understand this discussion particularly well, but let me
toss in an example I just spotted in GCC 3.4.1 RC1 output:
.loc 1 93 0
lw $16,%got(utfile)($28)
lw $5,%got($LC0)($28)
lw $25,%call16(fopen)($28)
addiu $4,$16,%lo(utfile)
jalr $25
addiu $5,$5,%lo($LC0)
According to comments in the bfd sources, a %got is treated much like
a %hi. So what I see here is two %lo operations that are each paired
with a %hi (%got) but the matching one is NOT the immediately
preceding one.
Is this legal? Is this what the discussion is about? Will the
current toolchain handle it correctly?
paul
More information about the Binutils
mailing list