htl: move ___pthread_self into libc.

sysdeps/mach/hurd/htl/pt-pthread_self.c: New file.
htl/Makefile: .. Add it to libc routine.
sysdeps/mach/hurd/htl/pt-sysdep.c(__pthread_self): Remove it.
sysdeps/mach/hurd/htl/pt-sysdep.h(__pthread_self): Add hidden propertie.
htl/Versions(__pthread_self) Version it as private symbol.

Signed-off-by: Guy-Fleury Iteriteka <gfleury@disroot.org>
Message-Id: <20230318095826.1125734-3-gfleury@disroot.org>
This commit is contained in:
Guy-Fleury Iteriteka 2023-03-18 11:58:25 +02:00 committed by Samuel Thibault
parent 7bba5bd8e8
commit f987e9b7a3
5 changed files with 27 additions and 3 deletions

View File

@ -164,7 +164,7 @@ headers := \
distribute :=
routines := forward libc_pthread_init alloca_cutoff htlfreeres pt-nthreads
routines := forward libc_pthread_init alloca_cutoff htlfreeres pt-nthreads pt-pthread_self
shared-only-routines = forward
extra-libs := libpthread

View File

@ -31,6 +31,7 @@ libc {
__libc_pthread_init;
__pthread_cleanup_stack;
__pthread_total;
___pthread_self;
}
}

View File

@ -0,0 +1,22 @@
/* ___pthread_self variable.
Copyright (C) 2021-2023 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#include <pt-sysdep.h>
__thread struct __pthread *___pthread_self;
libc_hidden_tls_def (___pthread_self)

View File

@ -26,8 +26,6 @@
#include <pt-internal.h>
#include <pthreadP.h>
__thread struct __pthread *___pthread_self;
static void
reset_pthread_total (void)
{

View File

@ -19,6 +19,7 @@
#ifndef _PT_SYSDEP_H
#define _PT_SYSDEP_H 1
#include <stddef.h>
#include <mach.h>
/* XXX */
@ -32,6 +33,8 @@
mach_msg_header_t wakeupmsg;
extern __thread struct __pthread *___pthread_self;
libc_hidden_tls_proto (___pthread_self)
#ifdef DEBUG
#define _pthread_self() \
({ \