From patchwork Mon Apr 26 16:59:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43137 Return-Path: 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 C7F9C38930D9; Mon, 26 Apr 2021 16:59:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C7F9C38930D9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1619456370; bh=izxL6cURk4lXMhyk/8ImIwMp6+f184n8d5LF3C6Vekc=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=x0o3wS7h3Nn6hEuv8V/CgXd5hlW41Hu52ZjqPH1XTc/fLPUTnjFTnMXBjqqk3bjrH lpPndJqHkMu9iK0W9MWlZQwBRU4sQRWW+C8bYQ57XPcPWhgjWrCnQi2v+1tyoQbNfX ahJkKn+3JtxkqZvsveWgZ8ojiP+rIGm6eJLz0yUA= 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 CD665383803B for ; Mon, 26 Apr 2021 16:59:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CD665383803B 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-244-8kzn8OaGMHCdGnFp7iaWdw-1; Mon, 26 Apr 2021 12:59:21 -0400 X-MC-Unique: 8kzn8OaGMHCdGnFp7iaWdw-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 16796107ACC7 for ; Mon, 26 Apr 2021 16:59:21 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-20.ams2.redhat.com [10.36.113.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 507501037E81 for ; Mon, 26 Apr 2021 16:59:19 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 00/19] nptl: Move most C11 symbols into libc Message-Id: Date: Mon, 26 Apr 2021 18:59:46 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-6.5 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" thrd_create, thrd_detach, thrd_join cannot be moved yet because the corresponding POSIX functions have not been moved. I removed GLIBC_PRIVATE and GLIBC_2.34 symbol versions along the way, as appropriate. The first commit enables symbol moves to shared code that should not yet impact Hurd. It could perhaps be reviewed seprately because further work depends on it (which will not conflict with this series on a textual level). Tested on i686-linux-gnu, x86_64-linux-gnu. Built using build-many-glibcs.py. Thanks, Florian Florian Weimer (19): Add pthread-in-libc, libpthread-routines-var, librt-routines-var nptl: Move call_once into libc nptl: Move cnd_broadcast into libc nptl: Move cnd_destroy into libc nptl: Move cnd_init into libc nptl: Move cnd_signal into libc nptl: Move cnd_timedwait into libc nptl: Move cnd_wait into libc nptl: Move mtx_destroy into libc nptl: Move mtx_init into libc nptl: Move mtx_lock into libc nptl: Move mtx_timedlock into libc nptl: Move mtx_trylock into libc nptl: Move mtx_unlock into libc nptl: Move thrd_exit into libc nptl: Move tss_create into libc nptl: Move tss_delete into libc nptl: Move tss_get into libc nptl: Move tss_set into libc Makeconfig | 11 +++ config.h.in | 3 + config.make.in | 1 + configure | 8 +++ configure.ac | 6 ++ nptl/Versions | 70 ++++++++++--------- nptl/pthreadP.h | 3 + nptl/pthread_cond_broadcast.c | 5 +- nptl/pthread_cond_signal.c | 5 +- nptl/pthread_cond_wait.c | 12 ++-- nptl/pthread_getspecific.c | 7 +- nptl/pthread_key_delete.c | 6 +- nptl/pthread_mutex_destroy.c | 7 +- nptl/pthread_mutex_init.c | 8 ++- nptl/pthread_mutex_timedlock.c | 8 ++- nptl/pthread_mutex_trylock.c | 8 ++- nptl/pthread_mutexattr_init.c | 6 +- nptl/pthread_mutexattr_settype.c | 6 +- nptl/pthread_once.c | 4 +- nptl/pthread_setspecific.c | 9 ++- rt/Makefile | 2 + sysdeps/mach/hurd/configure | 3 + sysdeps/mach/hurd/configure.ac | 3 + sysdeps/nptl/libc-lockP.h | 18 +++-- sysdeps/pthread/Makefile | 28 ++++++-- sysdeps/pthread/call_once.c | 11 ++- sysdeps/pthread/cnd_broadcast.c | 11 ++- sysdeps/pthread/cnd_destroy.c | 11 ++- sysdeps/pthread/cnd_init.c | 11 ++- sysdeps/pthread/cnd_signal.c | 11 ++- sysdeps/pthread/cnd_wait.c | 11 ++- sysdeps/pthread/mtx_destroy.c | 11 ++- sysdeps/pthread/mtx_init.c | 11 ++- sysdeps/pthread/mtx_lock.c | 11 ++- sysdeps/pthread/mtx_trylock.c | 11 ++- sysdeps/pthread/mtx_unlock.c | 11 ++- sysdeps/pthread/thrd_exit.c | 11 ++- sysdeps/pthread/tss_create.c | 11 ++- sysdeps/pthread/tss_delete.c | 11 ++- sysdeps/pthread/tss_get.c | 11 ++- sysdeps/pthread/tss_set.c | 11 ++- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 44 +++++++++--- .../sysv/linux/aarch64/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/alpha/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/alpha/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/arc/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/arc/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/arm/be/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/arm/le/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/cnd_timedwait.c | 21 ++++-- sysdeps/unix/sysv/linux/csky/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/csky/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/hppa/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/hppa/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/i386/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/i386/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/ia64/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/ia64/libpthread.abilist | 18 ----- .../sysv/linux/m68k/coldfire/libc.abilist | 44 +++++++++--- .../linux/m68k/coldfire/libpthread.abilist | 18 ----- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 44 +++++++++--- .../sysv/linux/m68k/m680x0/libpthread.abilist | 18 ----- .../sysv/linux/microblaze/be/libc.abilist | 44 +++++++++--- .../linux/microblaze/be/libpthread.abilist | 18 ----- .../sysv/linux/microblaze/le/libc.abilist | 44 +++++++++--- .../linux/microblaze/le/libpthread.abilist | 18 ----- .../sysv/linux/mips/mips32/fpu/libc.abilist | 44 +++++++++--- .../sysv/linux/mips/mips32/libpthread.abilist | 18 ----- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 44 +++++++++--- .../sysv/linux/mips/mips64/libpthread.abilist | 18 ----- .../sysv/linux/mips/mips64/n32/libc.abilist | 44 +++++++++--- .../sysv/linux/mips/mips64/n64/libc.abilist | 44 +++++++++--- sysdeps/unix/sysv/linux/mtx_timedlock.c | 21 ++++-- sysdeps/unix/sysv/linux/nios2/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/nios2/libpthread.abilist | 18 ----- .../linux/powerpc/powerpc32/fpu/libc.abilist | 44 +++++++++--- .../powerpc/powerpc32/libpthread.abilist | 18 ----- .../powerpc/powerpc32/nofpu/libc.abilist | 44 +++++++++--- .../linux/powerpc/powerpc64/be/libc.abilist | 44 +++++++++--- .../powerpc/powerpc64/be/libpthread.abilist | 18 ----- .../linux/powerpc/powerpc64/le/libc.abilist | 44 +++++++++--- .../powerpc/powerpc64/le/libpthread.abilist | 18 ----- .../unix/sysv/linux/riscv/rv32/libc.abilist | 44 +++++++++--- .../sysv/linux/riscv/rv32/libpthread.abilist | 18 ----- .../unix/sysv/linux/riscv/rv64/libc.abilist | 44 +++++++++--- .../sysv/linux/riscv/rv64/libpthread.abilist | 18 ----- .../unix/sysv/linux/s390/s390-32/libc.abilist | 44 +++++++++--- .../linux/s390/s390-32/libpthread.abilist | 18 ----- .../unix/sysv/linux/s390/s390-64/libc.abilist | 44 +++++++++--- .../linux/s390/s390-64/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/sh/be/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 44 +++++++++--- .../unix/sysv/linux/sh/le/libpthread.abilist | 18 ----- .../sysv/linux/sparc/sparc32/libc.abilist | 44 +++++++++--- .../linux/sparc/sparc32/libpthread.abilist | 18 ----- .../sysv/linux/sparc/sparc64/libc.abilist | 44 +++++++++--- .../linux/sparc/sparc64/libpthread.abilist | 18 ----- sysdeps/unix/sysv/linux/thrd_priv.h | 4 +- .../unix/sysv/linux/x86_64/64/libc.abilist | 44 +++++++++--- .../sysv/linux/x86_64/64/libpthread.abilist | 18 ----- .../unix/sysv/linux/x86_64/x32/libc.abilist | 44 +++++++++--- .../sysv/linux/x86_64/x32/libpthread.abilist | 18 ----- 105 files changed, 1500 insertions(+), 899 deletions(-) Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell