From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) by sourceware.org (Postfix) with ESMTPS id 570E33854814 for ; Tue, 16 Mar 2021 14:35:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 570E33854814 Received: by mail-qt1-x835.google.com with SMTP id s2so11762892qtx.10 for ; Tue, 16 Mar 2021 07:35:57 -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=s72IkRizzCRAoVfTT+ugxEKQ6NoQVyJ+y1YoEORt55o=; b=pU8w5LXMWhvQTCgEs0rqGzjtUoqYXghkmsDh51uZzWr4MmEQmNoCLr6jtGuEnmTKc4 eBglCJIDb0GPoVziQP7/rwVyXH4szHM0+0EbEPVSZIMI4Sfpe0/LgT1byXdasLT80kH3 Q5uBtpiH1CpfeBKfZrH3iWDhpfGNElVEVM7VL4kokoy9PWym0QxEjOxkNK+I4idg3xas rFfyxbpQj5kTa85LTovF4Ijrrg91wDsAuJLLQvTCShGUYZi9DG/bmT3oC84/WVNNFnAc fVFGhRTUtOY3CwYWzaIQeoIPWPb+fT+7ci3iAMkM9GrKPp5RGI+ndZEil+VVYSi64GKW 0n0g== X-Gm-Message-State: AOAM532DRCfe42b4uVb/n7OT+hvtOq71Jwq6jSqCJy4HkY14OIfEn8e2 4N9ItUJfgPDyHO9i+uFZRqNQxPVem466tCP4 X-Google-Smtp-Source: ABdhPJz+Yfa0OuRz4ZT8oRpAAunoa3gR3qXJI8rMp/ydm0XfWUav96/SBRZhMgd4qV5swpJ8Px5Aig== X-Received: by 2002:ac8:dc5:: with SMTP id t5mr28222528qti.246.1615905356858; Tue, 16 Mar 2021 07:35:56 -0700 (PDT) Received: from [192.168.1.4] ([177.194.48.209]) by smtp.googlemail.com with ESMTPSA id a14sm15200855qkc.47.2021.03.16.07.35.55 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Mar 2021 07:35:56 -0700 (PDT) Subject: Re: [PATCH 07/18] nptl: Move __pthread_cleanup_upto into libc To: libc-alpha@sourceware.org, Florian Weimer References: From: Adhemerval Zanella Message-ID: <26399434-254d-6f15-894f-618f99f2858d@linaro.org> Date: Tue, 16 Mar 2021 11:35:54 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-13.4 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, 16 Mar 2021 14:35:59 -0000 On 12/03/2021 14:49, Florian Weimer via Libc-alpha wrote: > This internal symbol is used as part of the longjmp implementation. > Rename the file from nptl/pt-cleanup.c to nptl/pthread_cleanup_upto.c > so that the pt-* files remain restricted to libpthread. LGTM, thanks. Reviewed-by: Adhemerval Zanella > --- > nptl/Makefile | 2 +- > nptl/Versions | 1 + > nptl/nptl-init.c | 1 - > nptl/pthreadP.h | 4 +--- > nptl/{pt-cleanup.c => pthread_cleanup_upto.c} | 2 +- > sysdeps/nptl/jmp-unwind.c | 8 ++------ > sysdeps/nptl/pthread-functions.h | 1 - > sysdeps/unix/sysv/linux/s390/jmp-unwind.c | 7 ++----- > 8 files changed, 8 insertions(+), 18 deletions(-) > rename nptl/{pt-cleanup.c => pthread_cleanup_upto.c} (98%) > > diff --git a/nptl/Makefile b/nptl/Makefile > index 7e566675f2..8847c4dd49 100644 > --- a/nptl/Makefile > +++ b/nptl/Makefile > @@ -66,6 +66,7 @@ routines = \ > pthread_attr_setscope \ > pthread_attr_setsigmask \ > pthread_attr_setsigmask_internal \ > + pthread_cleanup_upto \ > pthread_cond_destroy \ > pthread_cond_init \ > pthread_condattr_destroy \ > @@ -113,7 +114,6 @@ libpthread-routines = \ > old_pthread_cond_timedwait \ > old_pthread_cond_wait \ > pt-allocrtsig \ > - pt-cleanup \ > pt-fcntl \ > pt-interp \ > pt-raise \ Ok. > diff --git a/nptl/Versions b/nptl/Versions > index cf4d5b677d..8fa0d178db 100644 > --- a/nptl/Versions > +++ b/nptl/Versions > @@ -109,6 +109,7 @@ libc { > __pthread_attr_setsigmask_internal; > __pthread_cleanup_pop; > __pthread_cleanup_push; > + __pthread_cleanup_upto; > __pthread_cond_destroy; # Used by the C11 threads. > __pthread_cond_init; # Used by the C11 threads. > __pthread_force_elision; Ok. > diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c > index c2b563cc68..41527dcad1 100644 > --- a/nptl/nptl-init.c > +++ b/nptl/nptl-init.c > @@ -88,7 +88,6 @@ static const struct pthread_functions pthread_functions = > .ptr_pthread_mutex_unlock = __pthread_mutex_unlock, > .ptr___pthread_setcancelstate = __pthread_setcancelstate, > .ptr_pthread_setcanceltype = __pthread_setcanceltype, > - .ptr___pthread_cleanup_upto = __pthread_cleanup_upto, > .ptr___pthread_once = __pthread_once, > .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock, > .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, Ok. > diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h > index 781bc65c1c..8f3d2cc8c9 100644 > --- a/nptl/pthreadP.h > +++ b/nptl/pthreadP.h > @@ -332,9 +332,7 @@ extern int __make_stacks_executable (void **stack_endp) attribute_hidden; > > /* longjmp handling. */ > extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe); > -#if IS_IN (libpthread) > -hidden_proto (__pthread_cleanup_upto) > -#endif > +libc_hidden_proto (__pthread_cleanup_upto) > > > /* Functions with versioned interfaces. */ Ok. > diff --git a/nptl/pt-cleanup.c b/nptl/pthread_cleanup_upto.c > similarity index 98% > rename from nptl/pt-cleanup.c > rename to nptl/pthread_cleanup_upto.c Ok. > index 541533230d..89da3e5229 100644 > --- a/nptl/pt-cleanup.c > +++ b/nptl/pthread_cleanup_upto.c > @@ -59,4 +59,4 @@ __pthread_cleanup_upto (__jmp_buf target, char *targetframe) > > THREAD_SETMEM (self, cleanup, cbuf); > } > -hidden_def (__pthread_cleanup_upto) > +libc_hidden_def (__pthread_cleanup_upto) Ok. > diff --git a/sysdeps/nptl/jmp-unwind.c b/sysdeps/nptl/jmp-unwind.c > index a79c792e82..96c4862c74 100644 > --- a/sysdeps/nptl/jmp-unwind.c > +++ b/sysdeps/nptl/jmp-unwind.c > @@ -19,14 +19,10 @@ > #include > #include > #include > - > -extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); > -#pragma weak __pthread_cleanup_upto > - > +#include > > void > _longjmp_unwind (jmp_buf env, int val) > { > - __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, > - CURRENT_STACK_FRAME), 0); > + __pthread_cleanup_upto (env->__jmpbuf, CURRENT_STACK_FRAME); > } Ok. > diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h > index 4268084b66..1bbe609598 100644 > --- a/sysdeps/nptl/pthread-functions.h > +++ b/sysdeps/nptl/pthread-functions.h > @@ -49,7 +49,6 @@ struct pthread_functions > int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); > int (*ptr___pthread_setcancelstate) (int, int *); > int (*ptr_pthread_setcanceltype) (int, int *); > - void (*ptr___pthread_cleanup_upto) (__jmp_buf, char *); > int (*ptr___pthread_once) (pthread_once_t *, void (*) (void)); > int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); > int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); Ok. > diff --git a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c > index 2bdde57ec7..8e0399a3e9 100644 > --- a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c > +++ b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c > @@ -19,15 +19,12 @@ > #include > #include > #include > - > -extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); > -#pragma weak __pthread_cleanup_upto > - > +#include > > void > _longjmp_unwind (jmp_buf env, int val) > { > char local_var; > > - __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, &local_var), 0); > + __pthread_cleanup_upto (env->__jmpbuf, &local_var); > } > Ok.