Message ID | cover.1620323953.git.fweimer@redhat.com |
---|---|
Headers |
Return-Path: <libc-alpha-bounces@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7AC83383803E; Thu, 6 May 2021 18:08:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7AC83383803E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1620324524; bh=pcbZ0wnE7laYx/QlTZDV2sURg5gDf6nomwikF2M0z84=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=gAAG3u0Trk1KyJbIq9mFwOkieiWfIQLgtBUHZ5JfOXk49InjFCWpIfzxz4OzIVj07 c958IFXNt3N2UbSnC7Og8Ut2wufFcC9uEuX4S4h1TZd0X1ZnQOZ7AgKtXOD3m/+nVD Kns7jgwfKqZRDf7yD8VvffO+UY56WLiQtoctmouk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 16843383800F for <libc-alpha@sourceware.org>; Thu, 6 May 2021 18:08:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 16843383800F Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-438-_ABKKqJ3PnWLsGdoBT6QiA-1; Thu, 06 May 2021 14:08:35 -0400 X-MC-Unique: _ABKKqJ3PnWLsGdoBT6QiA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6572B107ACC7 for <libc-alpha@sourceware.org>; Thu, 6 May 2021 18:08:34 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-137.ams2.redhat.com [10.36.112.137]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BFF776091A for <libc-alpha@sourceware.org>; Thu, 6 May 2021 18:08:33 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 00/13] Linux: Move most stack management out of libpthread Message-Id: <cover.1620323953.git.fweimer@redhat.com> Date: Thu, 06 May 2021 20:08:52 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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 <libc-alpha.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/libc-alpha>, <mailto:libc-alpha-request@sourceware.org?subject=subscribe> From: Florian Weimer via Libc-alpha <libc-alpha@sourceware.org> Reply-To: Florian Weimer <fweimer@redhat.com> Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" <libc-alpha-bounces@sourceware.org> |
Series |
Linux: Move most stack management out of libpthread
|
|
Message
Florian Weimer
May 6, 2021, 6:08 p.m. UTC
This incorporates the previous “nptl: Remove delayed rtld lock initialization” series. Tested on i686-linux-gnu and x86_64-linux-gnu. Built with build-many-glibcs.py. Thanks, Florian Florian Weimer (13): scripts/versions.awk: Add strings and hashes to <first-versions.h> elf, nptl: Resolve recursive lock implementation early nptl: Export __libc_multiple_threads from libc as an internal symbol Linux: Explicitly disable cancellation checking in the dynamic loader Linux: Simplify and fix the definition of SINGLE_THREAD_P nptl: Eliminate __pthread_multiple_threads elf: Introduce __tls_pre_init_tp nptl: Move more stack management variables into _rtld_global nptl: Simplify the change_stack_perm calling convention nptl: Move changing of stack permissions into ld.so nptl: Simplify resetting the in-flight stack in __reclaim_stacks nptl: Move __default_pthread_attr, __default_pthread_attr_lock into libc Linux: Move __reclaim_stacks into the fork implementation in libc csu/libc-tls.c | 2 + elf/Makefile | 3 +- elf/dl-load.c | 4 + elf/dl-mutex.c | 19 ++ elf/dl-support.c | 13 +- elf/dl-tls_init_tp.c | 29 +++ elf/rtld.c | 34 +--- nptl/Makefile | 2 +- nptl/Versions | 4 +- nptl/allocatestack.c | 227 ++---------------------- nptl/libc_multiple_threads.c | 3 +- nptl/libc_pthread_init.c | 11 -- nptl/nptl-init.c | 24 --- nptl/pthreadP.h | 33 ++-- nptl/pthread_cancel.c | 2 +- nptl/vars.c | 15 +- scripts/versions.awk | 36 ++++ sysdeps/generic/ldsodefs.h | 51 +++++- sysdeps/nptl/dl-mutex.c | 53 ++++++ sysdeps/nptl/dl-tls_init_tp.c | 26 ++- sysdeps/nptl/fork.c | 110 ++++++++++++ sysdeps/nptl/libc-lockP.h | 17 +- sysdeps/unix/sysdep.h | 11 +- sysdeps/unix/sysv/linux/Versions | 6 + sysdeps/unix/sysv/linux/dl-execstack.c | 76 +++++++- sysdeps/unix/sysv/linux/single-thread.h | 42 ++--- 26 files changed, 481 insertions(+), 372 deletions(-) create mode 100644 elf/dl-mutex.c create mode 100644 sysdeps/nptl/dl-mutex.c
Comments
On 5/6/21 2:08 PM, Florian Weimer via Libc-alpha wrote: > This incorporates the previous “nptl: Remove delayed rtld lock > initialization” series. > > Tested on i686-linux-gnu and x86_64-linux-gnu. Built with > build-many-glibcs.py. This is certainly more complicated than your other series of patches and involves some reorganizing that is needed for the libpthread merge. Overall this looks good to me. Thanks for continuing the cleanup. I tested on x86_64 and i686 with the recent changes compiler warning changes reverted to allow the build to succeed. Tested on x86_64 and i686 without regression. Tested-by: Carlos O'Donell <carlos@redhat.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com> > Florian Weimer (13): > scripts/versions.awk: Add strings and hashes to <first-versions.h> > elf, nptl: Resolve recursive lock implementation early > nptl: Export __libc_multiple_threads from libc as an internal symbol > Linux: Explicitly disable cancellation checking in the dynamic loader > Linux: Simplify and fix the definition of SINGLE_THREAD_P > nptl: Eliminate __pthread_multiple_threads > elf: Introduce __tls_pre_init_tp > nptl: Move more stack management variables into _rtld_global > nptl: Simplify the change_stack_perm calling convention > nptl: Move changing of stack permissions into ld.so > nptl: Simplify resetting the in-flight stack in __reclaim_stacks > nptl: Move __default_pthread_attr, __default_pthread_attr_lock into > libc > Linux: Move __reclaim_stacks into the fork implementation in libc > > csu/libc-tls.c | 2 + > elf/Makefile | 3 +- > elf/dl-load.c | 4 + > elf/dl-mutex.c | 19 ++ > elf/dl-support.c | 13 +- > elf/dl-tls_init_tp.c | 29 +++ > elf/rtld.c | 34 +--- > nptl/Makefile | 2 +- > nptl/Versions | 4 +- > nptl/allocatestack.c | 227 ++---------------------- > nptl/libc_multiple_threads.c | 3 +- > nptl/libc_pthread_init.c | 11 -- > nptl/nptl-init.c | 24 --- > nptl/pthreadP.h | 33 ++-- > nptl/pthread_cancel.c | 2 +- > nptl/vars.c | 15 +- > scripts/versions.awk | 36 ++++ > sysdeps/generic/ldsodefs.h | 51 +++++- > sysdeps/nptl/dl-mutex.c | 53 ++++++ > sysdeps/nptl/dl-tls_init_tp.c | 26 ++- > sysdeps/nptl/fork.c | 110 ++++++++++++ > sysdeps/nptl/libc-lockP.h | 17 +- > sysdeps/unix/sysdep.h | 11 +- > sysdeps/unix/sysv/linux/Versions | 6 + > sysdeps/unix/sysv/linux/dl-execstack.c | 76 +++++++- > sysdeps/unix/sysv/linux/single-thread.h | 42 ++--- > 26 files changed, 481 insertions(+), 372 deletions(-) > create mode 100644 elf/dl-mutex.c > create mode 100644 sysdeps/nptl/dl-mutex.c >