Index: uspace/lib/c/arch/ia32/src/rtld/reloc.c
===================================================================
--- uspace/lib/c/arch/ia32/src/rtld/reloc.c	(revision 1433ecda9b732f3f185f902feb26826ec2496e03)
+++ uspace/lib/c/arch/ia32/src/rtld/reloc.c	(revision a2eb85d1f769e96dbee6ec14eb7ea648264737db)
@@ -181,5 +181,5 @@
 		case R_386_TLS_TPOFF:
 			DPRINTF("fixup R_386_TLS_TPOFF\n");
-			*r_ptr = (dest->ioffs + sym_def->st_value) - dest->rtld->tls_size;
+			*r_ptr = sym_def->st_value + dest->tpoff;
 			break;
 
Index: uspace/lib/c/arch/ia32/src/tls.c
===================================================================
--- uspace/lib/c/arch/ia32/src/tls.c	(revision 1433ecda9b732f3f185f902feb26826ec2496e03)
+++ uspace/lib/c/arch/ia32/src/tls.c	(revision a2eb85d1f769e96dbee6ec14eb7ea648264737db)
@@ -45,12 +45,12 @@
 #endif
 
-tcb_t *tls_alloc_arch(void **data, size_t size)
+tcb_t *tls_alloc_arch(size_t size, size_t align)
 {
-	return tls_alloc_variant_2(data, size);
+	return tls_alloc_variant_2(size, align);
 }
 
-void tls_free_arch(tcb_t *tcb, size_t size)
+void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
 {
-	tls_free_variant_2(tcb, size);
+	tls_free_variant_2(tcb, size, align);
 }
 
