This simplifies a few things
- Read the value as early as possible, instead of passing a pointer to the location.
- Print the warning for missing pair close to where we find out it is missing.
This is not a complete nop for the case where there is no matching relocation. We now read the high part of the addend. Note that we were already doing that when creating a got entry, but not when computing relocations.
According to the spec (4-17 at ftp://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf) each high relocation *must* have a matching lo, so this is hopefully OK.