You can check in the git history to see what was involved for each architecture but based on my recollection:
1) You need to change the compiler to emit position independent code (this might be very easy or very hard depending on the ISA, I certainly don't know about MIPS here)
2) You need to build support in the compiler and linker for "initial exec" mode TLS
3) You need to write a bit of assembly (following the C, not Go, ABI) that stitches the moduledata
4) Figure out any other strange rules your platform ABI requires for shared libraries (e.g. on ppc64le you must always do an indirect function call via R12)
5) Update the various tests and checks to make the needed flags available on your architecture.
It's hard to say how much work this is without knowing a lot more about MIPS and its ABIs than I do.
It's also worth saying that shared libraries in Go have not ended up being a much used feature so I don't know if all this is worth the effort on your side.
Cheers,
mwh