The problem here is that MIPS doesn't allow PC-relative relocations against a symbol in a different section. That said, I believe indirect encoding should be used for MIPS in the PIC case in general. I'm not sure about the correctness of the rest of the patch yet. http://reviews.llvm.org/D3828