diff --git a/src/header/dl-tls/mod.rs b/src/header/dl-tls/mod.rs
index cb5fec330282b5fcf795ca84bd111e8f44d84675..87b6909fb42ad12ca2072a65d00bccdb23b6037c 100644
--- a/src/header/dl-tls/mod.rs
+++ b/src/header/dl-tls/mod.rs
@@ -38,3 +38,10 @@ pub unsafe extern "C" fn __tls_get_addr(ti: *mut dl_tls_index) -> *mut c_void {
         (*ti).ti_offset
     );
 }
+
+// x86 can define a version that does not require stack alignment
+#[cfg(target_arch = "x86")]
+#[no_mangle]
+pub unsafe extern "C" fn ___tls_get_addr(ti: *mut dl_tls_index) -> *mut c_void {
+    __tls_get_addr(ti)
+}