Index: uspace/lib/c/arch/mips32/src/tls.c
===================================================================
--- uspace/lib/c/arch/mips32/src/tls.c	(revision 664857412ee8f831442f0cce913b5ba1a15f2b33)
+++ uspace/lib/c/arch/mips32/src/tls.c	(revision ec3e2ed0366d7ce41de472bed0b96c6e71cba2e0)
@@ -47,4 +47,24 @@
 }
 
+typedef struct {
+	unsigned long ti_module;
+	unsigned long ti_offset;
+} tls_index;
+
+void *__tls_get_addr(tls_index *ti);
+
+/* mips32 uses TLS variant 1 */
+void *__tls_get_addr(tls_index *ti)
+{
+	uint8_t *tls;
+	uint32_t v;
+
+	tls = (uint8_t *)__tcb_get() + sizeof(tcb_t);
+
+	/* Hopefully this is right. No docs found. */
+	v = (uint32_t) (tls + ti->ti_offset + 0x8000);
+	return (void *) v;
+}
+
 /** @}
  */
