It seems that gcc (with -O; -O0 fixes the issue) will generate R_MIPS_HI16
without succeeding R_MIPS_LO16 (or the other way - but it's not a real
problem that way) in '.rel.text' (not '.rela.text'). According to SGI ELF
spec this combination is invalid (well, addend AHL is created from low 16
bits from HI16 and low 16 bits from LO16, and the actual result of
relocation might depend on the LO16 part - at least this is what I
understood from the specific[a]tion); it also upsets Indy PROM when
converted into ECOFF.
Gcc 3.4.3 does not exhibit this (wanton) behavior. What the heck?
"There is no pain, you are receding...
A distant ship, smoke on the horizon.
You are only coming through in waves,
Your lips move, but I can't hear what you're saying."