From 71232da3b37b33d41c593c153a4a612067ff83cd Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Sun, 19 Mar 2023 18:09:48 +0300 Subject: hurd: Remove __hurd_threadvar_stack_{offset,mask} Noone is or should be using __hurd_threadvar_stack_{offset,mask}, we have proper TLS now. These two remaining variables are never set to anything other than zero, so any code that would try to use them as described would just dereference a zero pointer and crash. So remove them entirely. Signed-off-by: Sergey Bugaev Message-Id: <20230319151017.531737-6-bugaevc@gmail.com> --- hurd/Versions | 5 ----- hurd/hurd/threadvar.h | 15 --------------- 2 files changed, 20 deletions(-) (limited to 'hurd') diff --git a/hurd/Versions b/hurd/Versions index 7e4f1c5630..3d8b412d49 100644 --- a/hurd/Versions +++ b/hurd/Versions @@ -1,8 +1,5 @@ libc { GLIBC_2.0 { - # variables used in macros & inline functions - __hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset; - # functions used in libmachuser and libhurduser _S_catch_exception_raise; _S_catch_exception_raise_state; @@ -129,8 +126,6 @@ libc { _hurd_fd_error_signal; _hurd_fd_error; __hurd_dfail; __hurd_sockfail; _hurd_port_locked_set; - __hurd_threadvar_location_from_sp; - __hurd_threadvar_location; _hurd_userlink_link; _hurd_userlink_unlink; _hurd_userlink_clear; } GLIBC_2.29 { diff --git a/hurd/hurd/threadvar.h b/hurd/hurd/threadvar.h index 2a94f4de5b..f5c6a278a6 100644 --- a/hurd/hurd/threadvar.h +++ b/hurd/hurd/threadvar.h @@ -22,21 +22,6 @@ #include #include -/* The per-thread variables are found by ANDing this mask - with the value of the stack pointer and then adding this offset. - - In the multi-threaded case, cthreads initialization sets - __hurd_threadvar_stack_mask to ~(cthread_stack_size - 1), a mask which - finds the base of the fixed-size cthreads stack; and - __hurd_threadvar_stack_offset to a small offset that skips the data - cthreads itself maintains at the base of each thread's stack. - - In the single-threaded or libpthread case, __hurd_threadvar_stack_mask is - zero, so the stack pointer is ignored. */ - -extern unsigned long int __hurd_threadvar_stack_mask; -extern unsigned long int __hurd_threadvar_stack_offset; - /* The variables __hurd_sigthread_stack_base and __hurd_sigthread_stack_end define the bounds of the stack used by the signal thread, so that thread can always be specifically identified. */ -- cgit 1.4.1