Index: drlvm/vm/port/src/thread/linux/port_thread_tls_os.c
===================================================================
--- drlvm/vm/port/src/thread/linux/port_thread_tls_os.c	(revision 1092753)
+++ drlvm/vm/port/src/thread/linux/port_thread_tls_os.c	(working copy)
@@ -61,6 +61,7 @@
 
     pthread_attr_init(&pthread_attr);
     err = pthread_attr_getstacksize(&pthread_attr, &stack_size);
+    printf("init_psd_structure: stack_size = %li\n", stack_size);
     pthread_attr_destroy(&pthread_attr);
 
     if (err != 0)
@@ -68,6 +69,7 @@
 
     pthread_attr_init(&pthread_attr);
     err = pthread_attr_getguardsize(&pthread_attr, &guard_size);
+    printf("init_psd_structure: guard_size = %li\n", guard_size);
     pthread_attr_destroy(&pthread_attr);
 
     if (err != 0)
@@ -79,6 +81,7 @@
     data->foreign_stack_size = stack_size;
     data->guard_page_size = guard_size;
     data->mem_protect_size = MEM_PROTECT_SIZE;
+    printf("init_psd_structure: mem_protect_size = %li\n", data->mem_protect_size);
     data->req_type = THREADREQ_NONE;
     data->signal_set = FALSE;
 
Index: drlvm/vm/port/src/thread/linux/thread_os.c
===================================================================
--- drlvm/vm/port/src/thread/linux/thread_os.c	(revision 1092753)
+++ drlvm/vm/port/src/thread/linux/thread_os.c	(working copy)
@@ -332,6 +332,9 @@
 //    mapping_size = tlsdata->stack_size
 //            - ((size_t)tlsdata->stack_addr - mapping_addr);
 
+    printf("PMQ - setup_stack - (&res - mem_protect_size) = %zu\n", (size_t)(&res) - PSD->mem_protect_size);
+    printf("PMQ - setup_stack - (guard_page_addr + guard_page_size = %zu\n", (size_t)tlsdata->guard_page_addr + tlsdata->guard_page_size);
+
     if ((size_t)(&res) - PSD->mem_protect_size
             < (size_t)tlsdata->guard_page_addr + tlsdata->guard_page_size)
         return EINVAL;
