[hurd,commited,1/2] htl: Fix default guard size

Message ID 20200209173202.287052-1-samuel.thibault@ens-lyon.org
State New
Headers show
Series
  • [hurd,commited,1/2] htl: Fix default guard size
Related show

Commit Message

Samuel Thibault Feb. 9, 2020, 5:32 p.m.
When it is not hardcoded by the architecture with PAGESIZE, we need to
use the dynamic values from __vm_page_size.
---
 htl/pt-internal.h                 | 2 +-
 sysdeps/htl/pt-attr.c             | 2 +-
 sysdeps/mach/hurd/htl/pt-sysdep.c | 4 ++++
 3 files changed, 6 insertions(+), 2 deletions(-)

-- 
2.24.1

Patch

diff --git a/htl/pt-internal.h b/htl/pt-internal.h
index 9147b87740..064e795157 100644
--- a/htl/pt-internal.h
+++ b/htl/pt-internal.h
@@ -304,7 +304,7 @@  extern error_t __pthread_sigstate (struct __pthread *__restrict thread, int how,
 
 
 /* Default thread attributes.  */
-extern const struct __pthread_attr __pthread_default_attr;
+extern struct __pthread_attr __pthread_default_attr;
 
 /* Default barrier attributes.  */
 extern const struct __pthread_barrierattr __pthread_default_barrierattr;
diff --git a/sysdeps/htl/pt-attr.c b/sysdeps/htl/pt-attr.c
index 1426fac67e..fb41e4859f 100644
--- a/sysdeps/htl/pt-attr.c
+++ b/sysdeps/htl/pt-attr.c
@@ -23,7 +23,7 @@ 
 
 #include <pt-internal.h>
 
-const struct __pthread_attr __pthread_default_attr = {
+struct __pthread_attr __pthread_default_attr = {
   __schedparam: { sched_priority: 0 },
   __stacksize: 0,
   __stackaddr: NULL,
diff --git a/sysdeps/mach/hurd/htl/pt-sysdep.c b/sysdeps/mach/hurd/htl/pt-sysdep.c
index 32a290c4ee..84d191475d 100644
--- a/sysdeps/mach/hurd/htl/pt-sysdep.c
+++ b/sysdeps/mach/hurd/htl/pt-sysdep.c
@@ -78,6 +78,10 @@  _init_routine (void *stack)
      valid if the main thread terminates.  */
   thread->stack = 0;
 
+#ifndef PAGESIZE
+  __pthread_default_attr.__guardsize = __vm_page_size;
+#endif
+
   ___pthread_self = thread;
 
   /* Decrease the number of threads, to take into account that the