From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [IPv6:2607:f8b0:4864:20::730]) by sourceware.org (Postfix) with ESMTPS id 8B032386185F for ; Tue, 23 Mar 2021 16:39:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8B032386185F Received: by mail-qk1-x730.google.com with SMTP id q3so14984805qkq.12 for ; Tue, 23 Mar 2021 09:39:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=MznFMlRjkq9umMVp1UhYyuOpQuJJKEuGe5HQHVbAKbo=; b=TnO6AKaL+lX0UBCwDjOa9IQmDILsj+LO2Xga5NULvTOAle6fKYjEltDupT5v0FXQT7 1RW+38GABcoHx3DS5FwoIUsxAZ4Hwz7zedjA6VP2M8gsLZt+X1UKlL9uzZLWWlNFGHJZ HH7NPPR+W/bsXhEZHM0pI65d1n8nFZGs36NW/WhRwhfrb0SYnvTRGAJOi5giyFysPCya ySLX9S3EsW4KUuCQWPEaOqwmKnPfBgjwZWNp1ydQf/xn0fN5W4MaBW44wbwZZCO2onvO fGx9GJEqji56N09hITe6SVBG+Q4JlIsLx9focpicjIp5e0zNuPbEdpYgTWSjK+jpTCmm lCyA== X-Gm-Message-State: AOAM532bAVXpVO6T/YbP2sU7NXtyQ254XTEtcoNpL/opBzfOBl9sg8pr JBRVaj+BoxbA1JS20lOJe6dIVb/XW7LwLA== X-Google-Smtp-Source: ABdhPJz9nO9/YWNIx/fK5vafKQVBPVmAhRAAayyafwKVgXZASN+m3TCE6DeBEaBwV22rc8W4rA1UOA== X-Received: by 2002:ae9:e113:: with SMTP id g19mr6075629qkm.480.1616517597790; Tue, 23 Mar 2021 09:39:57 -0700 (PDT) Received: from [192.168.1.132] ([177.194.41.149]) by smtp.gmail.com with ESMTPSA id e2sm11321042qto.50.2021.03.23.09.39.56 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 23 Mar 2021 09:39:57 -0700 (PDT) Subject: Re: [PATCH v3 21/37] Remove pthread_key_create-related internals from libc-lock.h To: libc-alpha@sourceware.org References: From: Adhemerval Zanella Message-ID: <5ad44b77-bb3d-62a3-4602-47c65c859b6e@linaro.org> Date: Tue, 23 Mar 2021 13:39:55 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Mar 2021 16:40:00 -0000 On 16/03/2021 14:30, Florian Weimer via Libc-alpha wrote: > And libc-lockP.h. This is no longer used because all internal > TLS use goes directly to the thread descriptor/TCB or uses ELF TLS. LGTM, thanks. Reviewed-by: Adhemerval Zanella > --- > sysdeps/generic/libc-lock.h | 12 ------------ > sysdeps/htl/libc-lockP.h | 13 ------------- > sysdeps/nptl/libc-lockP.h | 24 ------------------------ > 3 files changed, 49 deletions(-) > > diff --git a/sysdeps/generic/libc-lock.h b/sysdeps/generic/libc-lock.h > index 6b1e98e34d..c538e858ea 100644 > --- a/sysdeps/generic/libc-lock.h > +++ b/sysdeps/generic/libc-lock.h > @@ -125,16 +125,4 @@ > /* We need portable names for some of the functions. */ > #define __libc_mutex_unlock > > -/* Type for key of thread specific data. */ > -typedef int __libc_key_t; > - > -/* Create key for thread specific data. */ > -#define __libc_key_create(KEY,DEST) ((void) (KEY), (void) (DEST), -1) > - > -/* Set thread-specific data associated with KEY to VAL. */ > -#define __libc_setspecific(KEY,VAL) ((void) (KEY), (void) (VAL)) > - > -/* Get thread-specific data associated with KEY. */ > -#define __libc_getspecific(KEY) ((void) (KEY), (void *) 0) > - > #endif /* libc-lock.h */ Ok. > diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h > index f183bde680..eb09171c85 100644 > --- a/sysdeps/htl/libc-lockP.h > +++ b/sysdeps/htl/libc-lockP.h > @@ -22,9 +22,6 @@ > #include > #include > > -/* Type for key to thread-specific data. */ > -typedef pthread_key_t __libc_key_t; > - > /* If we check for a weakly referenced symbol and then perform a > normal jump to it te code generated for some platforms in case of > PIC is unnecessarily slow. What would happen is that the function > @@ -109,16 +106,6 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); > > extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); > > -extern int __pthread_key_create (pthread_key_t *__key, > - void (*__destr_function) (void *)); > - > -extern int __pthread_key_delete (pthread_key_t __key); > - > -extern int __pthread_setspecific (pthread_key_t __key, > - const void *__pointer); > - > -extern void *__pthread_getspecific (pthread_key_t __key); > - > extern int __pthread_once (pthread_once_t *__once_control, > void (*__init_routine) (void)); > Ok. > diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h > index df62ce0e61..d032463dd0 100644 > --- a/sysdeps/nptl/libc-lockP.h > +++ b/sysdeps/nptl/libc-lockP.h > @@ -49,9 +49,6 @@ typedef int __libc_lock_t; > typedef struct { pthread_mutex_t mutex; } __rtld_lock_recursive_t; > typedef pthread_rwlock_t __libc_rwlock_t; > > -/* Type for key to thread-specific data. */ > -typedef pthread_key_t __libc_key_t; > - > /* Define a lock variable NAME with storage class CLASS. The lock must be > initialized with __libc_lock_init before it can be used (or define it > with __libc_lock_define_initialized, below). Use `extern' for CLASS to > @@ -267,19 +264,6 @@ __libc_cleanup_routine (struct __pthread_cleanup_frame *f) > } while (0) > #endif /* __EXCEPTIONS */ > > -/* Create thread-specific key. */ > -#define __libc_key_create(KEY, DESTRUCTOR) \ > - __libc_ptf_call (__pthread_key_create, (KEY, DESTRUCTOR), 1) > - > -/* Get thread-specific data. */ > -#define __libc_getspecific(KEY) \ > - __libc_ptf_call (__pthread_getspecific, (KEY), NULL) > - > -/* Set thread-specific data. */ > -#define __libc_setspecific(KEY, VALUE) \ > - __libc_ptf_call (__pthread_setspecific, (KEY, VALUE), 0) > - > - > /* Register handlers to execute before and after `fork'. Note that the > last parameter is NULL. The handlers registered by the libc are > never removed so this is OK. */ Ok. > @@ -324,14 +308,6 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); > > extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); > > -extern int __pthread_key_create (pthread_key_t *__key, > - void (*__destr_function) (void *)); > - > -extern int __pthread_setspecific (pthread_key_t __key, > - const void *__pointer); > - > -extern void *__pthread_getspecific (pthread_key_t __key); > - > extern int __pthread_once (pthread_once_t *__once_control, > void (*__init_routine) (void)); > libc_hidden_proto (__pthread_once) > Ok.