The patch adds one more partition to the MIPS GOT. This time it is for TLS related GOT entries. Such entries are located after 'local' and 'global' ones. We cannot get a final offset for these entries at the time of creation because we do not know size of 'local' and 'global' partitions. So we have to adjust the offset later using getMipsTlsOffset() method.
All MIPS TLS relocations which need GOT entries operates MIPS style GOT offset - 'offset from the GOT's beginning' - MipsGPOffset constant. That is why I add new types of relocation expressions.
One more difference from othe ABIs is that the MIPS ABI does not support any TLS relocation relaxations. I decided to make a separate function handleMipsTlsRelocation and put MIPS TLS relocation handling code there. It is similar to handleTlsRelocation routine and duplicates its code. But it allows to make the code cleaner and prevent pollution of the handleTlsRelocation by MIPS 'if' statements.