From patchwork Thu May 6 20:06:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 43284 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com 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 867BA3838003; Thu, 6 May 2021 20:06:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 867BA3838003 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1620331585; bh=kUe6RoVz2FLupRAQfCQ6iuSZStLLpY5s0VDN7DxVIMM=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=Fdfjjm7fqPVdmoRNzJMu050rTbU1XRAPksARXsKWLsvY4Afjx2FWStnEGtRALYeOH 4QtOtyZ07VD6jcvfLaBUzgQkcSlMq6NyGYgI1zFrPpLe6tVtD9XxjEK1Pp+uUKSNn1 /FR7CL2rFP9HOxBp5X+vB58xQhWnK0pJE1qddxcU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-qk1-x732.google.com (mail-qk1-x732.google.com [IPv6:2607:f8b0:4864:20::732]) by sourceware.org (Postfix) with ESMTPS id 90FF03846403 for ; Thu, 6 May 2021 20:06:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 90FF03846403 Received: by mail-qk1-x732.google.com with SMTP id a22so5684882qkl.10 for ; Thu, 06 May 2021 13:06:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=kUe6RoVz2FLupRAQfCQ6iuSZStLLpY5s0VDN7DxVIMM=; b=qIn9zIDihl5QKf+xOH6pcMlaH/pP6D3U/VpZP16koDq+AdcuQ4DqMWrokKTIc+JLEy QQ89ILQIW3Uht3c1MnXxxP7+m3FJhpjqDp3SMbadOyjAHK0U2vJ9BZVJt0NqZy5x2NjQ 0+n9jpLiaDN+ZzxlKvuzT9OfBXlDI44R1aBBBK8tTNWw6yPSnfLfbNTG2XjL+8P9aQWq BITBZIdfukQOGn5Ve6XfK65Q9tlVl+XFB4U7rAC+1Nse4jM8MuC8pIGmghp6GFa6XmiY Wsav9OQn19g9wwEat2UuOBfgK5a3n+/r371zl5IZL/eFf5Tpsqr8h85Ke1AyldcFZtsS M50Q== X-Gm-Message-State: AOAM531MsR90NDHylh2urdBqywjjEZ6wloTHxKBrhMOd/waWLWftRelk 3UW8+w0Qynrhfo4m6BaNY5Rag0SnUEzIfg== X-Google-Smtp-Source: ABdhPJwmJFk+Ggp4o1I5BYfBgxI8RW692VITlOi+pa4y8MHYPYwK8u6Eax8npasPwmWl4/B5XxvSYg== X-Received: by 2002:a37:45c7:: with SMTP id s190mr5772270qka.111.1620331579887; Thu, 06 May 2021 13:06:19 -0700 (PDT) Received: from birita.. ([177.194.37.86]) by smtp.googlemail.com with ESMTPSA id c25sm1250103qtp.89.2021.05.06.13.06.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 May 2021 13:06:19 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 1/3] linux: Move flockfile/_IO_flockfile into libc Date: Thu, 6 May 2021 17:06:12 -0300 Message-Id: <20210506200614.2928007-1-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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-Patchwork-Original-From: Adhemerval Zanella via Libc-alpha From: Adhemerval Zanella Reply-To: Adhemerval Zanella Cc: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The single-thread optimization is done in a platform neutral way by using __libc_single_threaded. Hurd is not change, it is used it own lock scheme (which call _cthreads_flockfile). Checked on x86_64-linux-gnu. --- nptl/Makefile | 2 -- stdio-common/flockfile.c | 11 +++++-- sysdeps/pthread/flockfile.c | 31 ------------------- .../sysv/linux/aarch64/libpthread.abilist | 2 -- .../unix/sysv/linux/alpha/libpthread.abilist | 2 -- .../unix/sysv/linux/arc/libpthread.abilist | 2 -- .../unix/sysv/linux/arm/be/libpthread.abilist | 2 -- .../unix/sysv/linux/arm/le/libpthread.abilist | 2 -- .../unix/sysv/linux/csky/libpthread.abilist | 2 -- .../unix/sysv/linux/hppa/libpthread.abilist | 2 -- .../unix/sysv/linux/i386/libpthread.abilist | 2 -- .../unix/sysv/linux/ia64/libpthread.abilist | 2 -- .../linux/m68k/coldfire/libpthread.abilist | 2 -- .../sysv/linux/m68k/m680x0/libpthread.abilist | 2 -- .../linux/microblaze/be/libpthread.abilist | 2 -- .../linux/microblaze/le/libpthread.abilist | 2 -- .../sysv/linux/mips/mips32/libpthread.abilist | 2 -- .../sysv/linux/mips/mips64/libpthread.abilist | 2 -- .../unix/sysv/linux/nios2/libpthread.abilist | 2 -- .../powerpc/powerpc32/libpthread.abilist | 2 -- .../powerpc/powerpc64/be/libpthread.abilist | 2 -- .../powerpc/powerpc64/le/libpthread.abilist | 2 -- .../sysv/linux/riscv/rv32/libpthread.abilist | 2 -- .../sysv/linux/riscv/rv64/libpthread.abilist | 2 -- .../linux/s390/s390-32/libpthread.abilist | 2 -- .../linux/s390/s390-64/libpthread.abilist | 2 -- .../unix/sysv/linux/sh/be/libpthread.abilist | 2 -- .../unix/sysv/linux/sh/le/libpthread.abilist | 2 -- .../linux/sparc/sparc32/libpthread.abilist | 2 -- .../linux/sparc/sparc64/libpthread.abilist | 2 -- .../sysv/linux/x86_64/64/libpthread.abilist | 2 -- .../sysv/linux/x86_64/x32/libpthread.abilist | 2 -- 32 files changed, 8 insertions(+), 94 deletions(-) delete mode 100644 sysdeps/pthread/flockfile.c diff --git a/nptl/Makefile b/nptl/Makefile index b5f26c6864..005fef1bd7 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -178,7 +178,6 @@ libpthread-routines = \ cleanup \ cleanup_defer \ events \ - flockfile \ ftrylockfile \ funlockfile \ libpthread-compat \ @@ -447,7 +446,6 @@ extra-objs += $(crti-objs) $(crtn-objs) extra-objs += pt-crti.o endif -CFLAGS-flockfile.c += $(libio-mtsafe) CFLAGS-ftrylockfile.c += $(libio-mtsafe) CFLAGS-funlockfile.c += $(libio-mtsafe) diff --git a/stdio-common/flockfile.c b/stdio-common/flockfile.c index 0bc856a465..c838dcd538 100644 --- a/stdio-common/flockfile.c +++ b/stdio-common/flockfile.c @@ -17,13 +17,18 @@ . */ #include - -#undef _IO_flockfile +#include +#include void __flockfile (FILE *stream) { - /* Do nothing. Using this version does not do any locking. */ + bool multithread = __libc_single_threaded == 0; + if (multithread) + { + stream->_flags2 |= _IO_FLAGS2_NEED_LOCK; + _IO_lock_lock (*stream->_lock); + } } weak_alias (__flockfile, flockfile); weak_alias (__flockfile, _IO_flockfile) diff --git a/sysdeps/pthread/flockfile.c b/sysdeps/pthread/flockfile.c deleted file mode 100644 index c67d6c8535..0000000000 --- a/sysdeps/pthread/flockfile.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - 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 - . */ - -#include -#include -#include - - -void -__flockfile (FILE *stream) -{ - stream->_flags2 |= _IO_FLAGS2_NEED_LOCK; - _IO_lock_lock (*stream->_lock); -} -strong_alias (__flockfile, _IO_flockfile) -weak_alias (__flockfile, flockfile) diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index b4f0fdd999..b5a21ad7cd 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.17 _IO_flockfile F GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F -GLIBC_2.17 flockfile F GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F GLIBC_2.17 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index c2017537e2..d88a55c5dc 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -1,8 +1,6 @@ -GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index bc072be61f..ddda1cb0b8 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.32 _IO_flockfile F GLIBC_2.32 _IO_ftrylockfile F GLIBC_2.32 _IO_funlockfile F GLIBC_2.32 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.32 __pthread_register_cancel F GLIBC_2.32 __pthread_register_cancel_defer F GLIBC_2.32 __pthread_unregister_cancel F GLIBC_2.32 __pthread_unregister_cancel_restore F -GLIBC_2.32 flockfile F GLIBC_2.32 ftrylockfile F GLIBC_2.32 funlockfile F GLIBC_2.32 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 5b52c456fb..ae1defcddc 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_flockfile F GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F @@ -17,7 +16,6 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 5b52c456fb..ae1defcddc 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_flockfile F GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F @@ -17,7 +16,6 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index d55f09a9fe..760a569b51 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.29 _IO_flockfile F GLIBC_2.29 _IO_ftrylockfile F GLIBC_2.29 _IO_funlockfile F GLIBC_2.29 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.29 __pthread_register_cancel F GLIBC_2.29 __pthread_register_cancel_defer F GLIBC_2.29 __pthread_unregister_cancel F GLIBC_2.29 __pthread_unregister_cancel_restore F -GLIBC_2.29 flockfile F GLIBC_2.29 ftrylockfile F GLIBC_2.29 funlockfile F GLIBC_2.29 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 2c4a7041b6..4ff101d7f2 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_flockfile F GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 1cbc49b937..36d415aef5 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -1,8 +1,6 @@ -GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 6b87a988d4..3c59353815 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_flockfile F GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 5b52c456fb..ae1defcddc 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_flockfile F GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F @@ -17,7 +16,6 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 1cbc49b937..36d415aef5 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -1,8 +1,6 @@ -GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index ee29730057..5c6c7b229c 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.18 _IO_flockfile F GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F -GLIBC_2.18 flockfile F GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F GLIBC_2.18 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index ee29730057..5c6c7b229c 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.18 _IO_flockfile F GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F -GLIBC_2.18 flockfile F GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F GLIBC_2.18 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index e523996633..1d36022ee2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -1,8 +1,6 @@ -GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index e523996633..1d36022ee2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -1,8 +1,6 @@ -GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 059b21f854..5611822c38 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.21 _IO_flockfile F GLIBC_2.21 _IO_ftrylockfile F GLIBC_2.21 _IO_funlockfile F GLIBC_2.21 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.21 __pthread_register_cancel F GLIBC_2.21 __pthread_register_cancel_defer F GLIBC_2.21 __pthread_unregister_cancel F GLIBC_2.21 __pthread_unregister_cancel_restore F -GLIBC_2.21 flockfile F GLIBC_2.21 ftrylockfile F GLIBC_2.21 funlockfile F GLIBC_2.21 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 84312f522b..aa24808b1e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -1,8 +1,6 @@ -GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 2d5583ebe8..5f5abdae73 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -6,11 +6,9 @@ GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.28 thrd_create F GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F -GLIBC_2.3 _IO_flockfile F GLIBC_2.3 _IO_ftrylockfile F GLIBC_2.3 _IO_funlockfile F GLIBC_2.3 __errno_location F -GLIBC_2.3 flockfile F GLIBC_2.3 ftrylockfile F GLIBC_2.3 funlockfile F GLIBC_2.3 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index b4f0fdd999..b5a21ad7cd 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.17 _IO_flockfile F GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F -GLIBC_2.17 flockfile F GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F GLIBC_2.17 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index cc35881f1a..f0493d8973 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.33 _IO_flockfile F GLIBC_2.33 _IO_ftrylockfile F GLIBC_2.33 _IO_funlockfile F GLIBC_2.33 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.33 __pthread_register_cancel F GLIBC_2.33 __pthread_register_cancel_defer F GLIBC_2.33 __pthread_unregister_cancel F GLIBC_2.33 __pthread_unregister_cancel_restore F -GLIBC_2.33 flockfile F GLIBC_2.33 ftrylockfile F GLIBC_2.33 funlockfile F GLIBC_2.33 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 6946ced1b9..c0279888a0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.27 _IO_flockfile F GLIBC_2.27 _IO_ftrylockfile F GLIBC_2.27 _IO_funlockfile F GLIBC_2.27 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.27 __pthread_register_cancel F GLIBC_2.27 __pthread_register_cancel_defer F GLIBC_2.27 __pthread_unregister_cancel F GLIBC_2.27 __pthread_unregister_cancel_restore F -GLIBC_2.27 flockfile F GLIBC_2.27 ftrylockfile F GLIBC_2.27 funlockfile F GLIBC_2.27 pthread_attr_getaffinity_np F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 0c6df4a437..286aedf9ca 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -1,8 +1,6 @@ -GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index d287d8fe7a..35248d9303 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -4,11 +4,9 @@ GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.19 __libpthread_version_placeholder F -GLIBC_2.2 _IO_flockfile F GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 2c4a7041b6..4ff101d7f2 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_flockfile F GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 2c4a7041b6..4ff101d7f2 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_flockfile F GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index c2017537e2..d88a55c5dc 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -1,8 +1,6 @@ -GLIBC_2.0 _IO_flockfile F GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 6b87a988d4..3c59353815 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_flockfile F GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index cea092874a..732e55148d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -3,11 +3,9 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2.5 _IO_flockfile F GLIBC_2.2.5 _IO_ftrylockfile F GLIBC_2.2.5 _IO_funlockfile F GLIBC_2.2.5 __errno_location F -GLIBC_2.2.5 flockfile F GLIBC_2.2.5 ftrylockfile F GLIBC_2.2.5 funlockfile F GLIBC_2.2.5 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 394748f198..22262d9ceb 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -1,4 +1,3 @@ -GLIBC_2.16 _IO_flockfile F GLIBC_2.16 _IO_ftrylockfile F GLIBC_2.16 _IO_funlockfile F GLIBC_2.16 __errno_location F @@ -6,7 +5,6 @@ GLIBC_2.16 __pthread_register_cancel F GLIBC_2.16 __pthread_register_cancel_defer F GLIBC_2.16 __pthread_unregister_cancel F GLIBC_2.16 __pthread_unregister_cancel_restore F -GLIBC_2.16 flockfile F GLIBC_2.16 ftrylockfile F GLIBC_2.16 funlockfile F GLIBC_2.16 pthread_attr_getaffinity_np F From patchwork Thu May 6 20:06:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 43285 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com 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 7F0203891C05; Thu, 6 May 2021 20:06:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7F0203891C05 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1620331586; bh=ge7pxFg8C3qck6SsXCzCLASxjtQLqup0x29N+TMTBdU=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=KKnCOu88bcYtbP5LCA8pd4zkH8aTXl5WgYj1n+I8MZmtkLUklU6cuFXVHY7lvimfd KLu1GPXPWPNuCvypaa1b51Sp3TxQmYleJnFti2ImEl7ihLWC4QNm5F/cEJZHJqEKX+ 39WLYGzr36dgRzXQREWR+moieCvb96e4SMUHfNco= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-qk1-x735.google.com (mail-qk1-x735.google.com [IPv6:2607:f8b0:4864:20::735]) by sourceware.org (Postfix) with ESMTPS id 6E41D3838003 for ; Thu, 6 May 2021 20:06:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6E41D3838003 Received: by mail-qk1-x735.google.com with SMTP id o27so6239892qkj.9 for ; Thu, 06 May 2021 13:06:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ge7pxFg8C3qck6SsXCzCLASxjtQLqup0x29N+TMTBdU=; b=QOAtAyL2Mtc4a1gt96MQZ+R9zu6VH5MRFp+2U/sErz9WP29iTt2uAfdPaRNToRm/JJ eu6CppcX/xa7NtHnZyjdqEfT5x3+rh2OexQUiqq8c58JPl7JqVuO9hxcsbzb9HIVUGg6 e5SwzFK2xBdaE4tSWilK3PQPU9/7Hh71XfqVQzsmjUt/EQ+lPcIsJJ0ZWmDPDz1c/TRd ockS7vj/GnmYViS0NyXryhbnzEiyYSc3wEqdXhVuEGNTFrtzjgL676zzcjtwrdjdzZDg BX0ugFnS+iXUw1s1f8sf1SnQj2mWiCaY13lmBpDhVrwcnlW4K6uVph0BzwpEdQn1mx+X DQYA== X-Gm-Message-State: AOAM530xrb9EEM21OI3vVRIeExfsPW6BLWzPC4tqqjR54JYFltCa2A+3 UbMQM/Sc7vvc16Fz8Vyf5W5lnYIkcz9GTA== X-Google-Smtp-Source: ABdhPJwSpoFsMkoMf32qNSwIxIbiSoL0ErYKYov1DEWpkXRRCklDgVlmYQlcbRUmCUM7FrrsTfBF0A== X-Received: by 2002:a37:8084:: with SMTP id b126mr5748914qkd.175.1620331581425; Thu, 06 May 2021 13:06:21 -0700 (PDT) Received: from birita.. ([177.194.37.86]) by smtp.googlemail.com with ESMTPSA id c25sm1250103qtp.89.2021.05.06.13.06.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 May 2021 13:06:21 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 2/3] linux: Move ftrylockfile/_IO_ftrylockfile into libc Date: Thu, 6 May 2021 17:06:13 -0300 Message-Id: <20210506200614.2928007-2-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210506200614.2928007-1-adhemerval.zanella@linaro.org> References: <20210506200614.2928007-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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-Patchwork-Original-From: Adhemerval Zanella via Libc-alpha From: Adhemerval Zanella Reply-To: Adhemerval Zanella Cc: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The single-thread optimization is done in a platform neutral way by using __libc_single_threaded. Hurd is not change, it is used it own lock scheme (which call _cthreads_ftrylockfile). Checked on x86_64-linux-gnu. --- nptl/Makefile | 1 - stdio-common/ftrylockfile.c | 10 +++--- sysdeps/pthread/ftrylockfile.c | 31 ------------------- .../sysv/linux/aarch64/libpthread.abilist | 2 -- .../unix/sysv/linux/alpha/libpthread.abilist | 2 -- .../unix/sysv/linux/arc/libpthread.abilist | 2 -- .../unix/sysv/linux/arm/be/libpthread.abilist | 2 -- .../unix/sysv/linux/arm/le/libpthread.abilist | 2 -- .../unix/sysv/linux/csky/libpthread.abilist | 2 -- .../unix/sysv/linux/hppa/libpthread.abilist | 2 -- .../unix/sysv/linux/i386/libpthread.abilist | 2 -- .../unix/sysv/linux/ia64/libpthread.abilist | 2 -- .../linux/m68k/coldfire/libpthread.abilist | 2 -- .../sysv/linux/m68k/m680x0/libpthread.abilist | 2 -- .../linux/microblaze/be/libpthread.abilist | 2 -- .../linux/microblaze/le/libpthread.abilist | 2 -- .../sysv/linux/mips/mips32/libpthread.abilist | 2 -- .../sysv/linux/mips/mips64/libpthread.abilist | 2 -- .../unix/sysv/linux/nios2/libpthread.abilist | 2 -- .../powerpc/powerpc32/libpthread.abilist | 2 -- .../powerpc/powerpc64/be/libpthread.abilist | 2 -- .../powerpc/powerpc64/le/libpthread.abilist | 2 -- .../sysv/linux/riscv/rv32/libpthread.abilist | 2 -- .../sysv/linux/riscv/rv64/libpthread.abilist | 2 -- .../linux/s390/s390-32/libpthread.abilist | 2 -- .../linux/s390/s390-64/libpthread.abilist | 2 -- .../unix/sysv/linux/sh/be/libpthread.abilist | 2 -- .../unix/sysv/linux/sh/le/libpthread.abilist | 2 -- .../linux/sparc/sparc32/libpthread.abilist | 2 -- .../linux/sparc/sparc64/libpthread.abilist | 2 -- .../sysv/linux/x86_64/64/libpthread.abilist | 2 -- .../sysv/linux/x86_64/x32/libpthread.abilist | 2 -- 32 files changed, 6 insertions(+), 94 deletions(-) delete mode 100644 sysdeps/pthread/ftrylockfile.c diff --git a/nptl/Makefile b/nptl/Makefile index 005fef1bd7..3bd72bc1c2 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -178,7 +178,6 @@ libpthread-routines = \ cleanup \ cleanup_defer \ events \ - ftrylockfile \ funlockfile \ libpthread-compat \ nptl-init \ diff --git a/stdio-common/ftrylockfile.c b/stdio-common/ftrylockfile.c index 4f7e2dd617..66df6c1834 100644 --- a/stdio-common/ftrylockfile.c +++ b/stdio-common/ftrylockfile.c @@ -17,14 +17,16 @@ . */ #include - -#undef _IO_ftrylockfile +#include +#include int __ftrylockfile (FILE *stream) { - /* Do nothing. Using this version does not do any locking. */ - return 1; + bool multithread = __libc_single_threaded == 0; + if (multithread) + return _IO_lock_trylock (*stream->_lock); + return 0; } weak_alias (__ftrylockfile, ftrylockfile); weak_alias (__ftrylockfile, _IO_ftrylockfile) diff --git a/sysdeps/pthread/ftrylockfile.c b/sysdeps/pthread/ftrylockfile.c deleted file mode 100644 index 5138005bdc..0000000000 --- a/sysdeps/pthread/ftrylockfile.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - 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 - . */ - -#include -#include -#include -#include - - -int -__ftrylockfile (FILE *stream) -{ - return _IO_lock_trylock (*stream->_lock); -} -strong_alias (__ftrylockfile, _IO_ftrylockfile) -weak_alias (__ftrylockfile, ftrylockfile) diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index b5a21ad7cd..ffbd77cedf 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F -GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F GLIBC_2.17 pthread_attr_getaffinity_np F GLIBC_2.17 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index d88a55c5dc..3110c6df17 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -1,7 +1,5 @@ -GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index ddda1cb0b8..7de7a4899e 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.32 _IO_ftrylockfile F GLIBC_2.32 _IO_funlockfile F GLIBC_2.32 __errno_location F GLIBC_2.32 __pthread_register_cancel F GLIBC_2.32 __pthread_register_cancel_defer F GLIBC_2.32 __pthread_unregister_cancel F GLIBC_2.32 __pthread_unregister_cancel_restore F -GLIBC_2.32 ftrylockfile F GLIBC_2.32 funlockfile F GLIBC_2.32 pthread_attr_getaffinity_np F GLIBC_2.32 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index ae1defcddc..3da5d28656 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __libpthread_version_placeholder F @@ -16,7 +15,6 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index ae1defcddc..3da5d28656 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __libpthread_version_placeholder F @@ -16,7 +15,6 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 760a569b51..6e86cd96cd 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.29 _IO_ftrylockfile F GLIBC_2.29 _IO_funlockfile F GLIBC_2.29 __errno_location F GLIBC_2.29 __pthread_register_cancel F GLIBC_2.29 __pthread_register_cancel_defer F GLIBC_2.29 __pthread_unregister_cancel F GLIBC_2.29 __pthread_unregister_cancel_restore F -GLIBC_2.29 ftrylockfile F GLIBC_2.29 funlockfile F GLIBC_2.29 pthread_attr_getaffinity_np F GLIBC_2.29 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 4ff101d7f2..6dbe47e566 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -3,10 +3,8 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 36d415aef5..e50fac2320 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -1,7 +1,5 @@ -GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 3c59353815..c136f64653 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -3,10 +3,8 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index ae1defcddc..3da5d28656 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __libpthread_version_placeholder F @@ -16,7 +15,6 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 36d415aef5..e50fac2320 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -1,7 +1,5 @@ -GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 5c6c7b229c..fd9fa8e1bf 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F -GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F GLIBC_2.18 pthread_attr_getaffinity_np F GLIBC_2.18 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 5c6c7b229c..fd9fa8e1bf 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F -GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F GLIBC_2.18 pthread_attr_getaffinity_np F GLIBC_2.18 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 1d36022ee2..a607c10506 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -1,7 +1,5 @@ -GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 1d36022ee2..a607c10506 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -1,7 +1,5 @@ -GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 5611822c38..bfaf7b18cc 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.21 _IO_ftrylockfile F GLIBC_2.21 _IO_funlockfile F GLIBC_2.21 __errno_location F GLIBC_2.21 __pthread_register_cancel F GLIBC_2.21 __pthread_register_cancel_defer F GLIBC_2.21 __pthread_unregister_cancel F GLIBC_2.21 __pthread_unregister_cancel_restore F -GLIBC_2.21 ftrylockfile F GLIBC_2.21 funlockfile F GLIBC_2.21 pthread_attr_getaffinity_np F GLIBC_2.21 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index aa24808b1e..b7292ba735 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -1,7 +1,5 @@ -GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 5f5abdae73..ddd982e470 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -6,10 +6,8 @@ GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.28 thrd_create F GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F -GLIBC_2.3 _IO_ftrylockfile F GLIBC_2.3 _IO_funlockfile F GLIBC_2.3 __errno_location F -GLIBC_2.3 ftrylockfile F GLIBC_2.3 funlockfile F GLIBC_2.3 pthread_attr_getguardsize F GLIBC_2.3 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index b5a21ad7cd..ffbd77cedf 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F -GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F GLIBC_2.17 pthread_attr_getaffinity_np F GLIBC_2.17 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index f0493d8973..2f492d0934 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.33 _IO_ftrylockfile F GLIBC_2.33 _IO_funlockfile F GLIBC_2.33 __errno_location F GLIBC_2.33 __pthread_register_cancel F GLIBC_2.33 __pthread_register_cancel_defer F GLIBC_2.33 __pthread_unregister_cancel F GLIBC_2.33 __pthread_unregister_cancel_restore F -GLIBC_2.33 ftrylockfile F GLIBC_2.33 funlockfile F GLIBC_2.33 pthread_attr_getaffinity_np F GLIBC_2.33 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index c0279888a0..53363c9eca 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.27 _IO_ftrylockfile F GLIBC_2.27 _IO_funlockfile F GLIBC_2.27 __errno_location F GLIBC_2.27 __pthread_register_cancel F GLIBC_2.27 __pthread_register_cancel_defer F GLIBC_2.27 __pthread_unregister_cancel F GLIBC_2.27 __pthread_unregister_cancel_restore F -GLIBC_2.27 ftrylockfile F GLIBC_2.27 funlockfile F GLIBC_2.27 pthread_attr_getaffinity_np F GLIBC_2.27 pthread_attr_getguardsize F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 286aedf9ca..0a2a1eacfa 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -1,7 +1,5 @@ -GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 35248d9303..d105c7fc36 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -4,10 +4,8 @@ GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.19 __libpthread_version_placeholder F -GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 4ff101d7f2..6dbe47e566 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -3,10 +3,8 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 4ff101d7f2..6dbe47e566 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -3,10 +3,8 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index d88a55c5dc..3110c6df17 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -1,7 +1,5 @@ -GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 3c59353815..c136f64653 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -3,10 +3,8 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 732e55148d..25f59472dd 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -3,10 +3,8 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2.5 _IO_ftrylockfile F GLIBC_2.2.5 _IO_funlockfile F GLIBC_2.2.5 __errno_location F -GLIBC_2.2.5 ftrylockfile F GLIBC_2.2.5 funlockfile F GLIBC_2.2.5 pthread_attr_getguardsize F GLIBC_2.2.5 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 22262d9ceb..0fba7f100d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -1,11 +1,9 @@ -GLIBC_2.16 _IO_ftrylockfile F GLIBC_2.16 _IO_funlockfile F GLIBC_2.16 __errno_location F GLIBC_2.16 __pthread_register_cancel F GLIBC_2.16 __pthread_register_cancel_defer F GLIBC_2.16 __pthread_unregister_cancel F GLIBC_2.16 __pthread_unregister_cancel_restore F -GLIBC_2.16 ftrylockfile F GLIBC_2.16 funlockfile F GLIBC_2.16 pthread_attr_getaffinity_np F GLIBC_2.16 pthread_attr_getguardsize F From patchwork Thu May 6 20:06:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 43286 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com 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 10EE53890400; Thu, 6 May 2021 20:06:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 10EE53890400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1620331588; bh=SjU29QehIECL3oWdc728AGp0NVGVIwwweqmfXtF5pQE=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=bg1jziizpoLIHw3p6VeQPsLXxzhdLcmEpFPJzwHiVE9sHII1N0VR8hcdfgKXVaRCl 2QhaxkMNUy+/cho8lOdirRUYg0KkGiv39CvcwTW2as6uTz1v+Ec0+wPdM9fonWbq64 sfh0vSrMg8zfdJt2do8MJwlyITWiJgSGZuOBLOAo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-qk1-x72e.google.com (mail-qk1-x72e.google.com [IPv6:2607:f8b0:4864:20::72e]) by sourceware.org (Postfix) with ESMTPS id DFC173838006 for ; Thu, 6 May 2021 20:06:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org DFC173838006 Received: by mail-qk1-x72e.google.com with SMTP id q136so6236938qka.7 for ; Thu, 06 May 2021 13:06:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SjU29QehIECL3oWdc728AGp0NVGVIwwweqmfXtF5pQE=; b=Kk4jg64CirRxJwLD1FJ/+pjdXAYu4D23qxtjsymfqwjhQvBGWP1OxxN25EItsvDKhq SvdGIqi0ByGGNzK4L6RvTdmj4EkRiT4QJRBD6RtP84zs3uVw2CQpmD6jRcQtF5N4ULIt 10KcTjKO8wjBN7mP/+hkkOxWJ2llg+QGr5pu1nIIBM9uMoZoe5AHgLDQXtSXEeKZToy6 fXJ56W7V+7Kzc0XmxCeMwHEwgfV3sE0BzIwnZQKULVHJaK6602WBzcn7ZzZO51Cfk2HZ 8RrSnm2XmfNhfOFZXWjoiC/KDbWIqVgxFhHKt6slcbC3ub88QUTc59yPJVsq+Age+Fpu sHSQ== X-Gm-Message-State: AOAM533e2pAl1OykEQ6QZU7xvSHTa/3yorb2fKOky8itQbk2leFObyPT SAz5aziURHQvCmTMxbKSIun2GUppCTP76g== X-Google-Smtp-Source: ABdhPJyWpR5qfVJGqUHMu9PIHazMAbivifrWd8M/R3yw3yMw8XbZv8y2+qAbniV58RmeOXFbkZ0aeg== X-Received: by 2002:a37:2e81:: with SMTP id u123mr5963869qkh.218.1620331582878; Thu, 06 May 2021 13:06:22 -0700 (PDT) Received: from birita.. ([177.194.37.86]) by smtp.googlemail.com with ESMTPSA id c25sm1250103qtp.89.2021.05.06.13.06.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 May 2021 13:06:22 -0700 (PDT) To: libc-alpha@sourceware.org Subject: [PATCH 3/3] linux: Move funlockfile/_IO_funlockfile into libc Date: Thu, 6 May 2021 17:06:14 -0300 Message-Id: <20210506200614.2928007-3-adhemerval.zanella@linaro.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210506200614.2928007-1-adhemerval.zanella@linaro.org> References: <20210506200614.2928007-1-adhemerval.zanella@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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-Patchwork-Original-From: Adhemerval Zanella via Libc-alpha From: Adhemerval Zanella Reply-To: Adhemerval Zanella Cc: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The single-thread optimization is done in a platform neutral way by using __libc_single_threaded. Hurd is not change, it is used it own lock scheme (which call _cthreads_funlockfile). Checked on x86_64-linux-gnu. --- nptl/Makefile | 1 - stdio-common/funlockfile.c | 8 +++-- sysdeps/pthread/funlockfile.c | 30 ------------------- .../sysv/linux/aarch64/libpthread.abilist | 2 -- .../unix/sysv/linux/alpha/libpthread.abilist | 2 -- .../unix/sysv/linux/arc/libpthread.abilist | 2 -- .../unix/sysv/linux/arm/be/libpthread.abilist | 2 -- .../unix/sysv/linux/arm/le/libpthread.abilist | 2 -- .../unix/sysv/linux/csky/libpthread.abilist | 2 -- .../unix/sysv/linux/hppa/libpthread.abilist | 2 -- .../unix/sysv/linux/i386/libpthread.abilist | 2 -- .../unix/sysv/linux/ia64/libpthread.abilist | 2 -- .../linux/m68k/coldfire/libpthread.abilist | 2 -- .../sysv/linux/m68k/m680x0/libpthread.abilist | 2 -- .../linux/microblaze/be/libpthread.abilist | 2 -- .../linux/microblaze/le/libpthread.abilist | 2 -- .../sysv/linux/mips/mips32/libpthread.abilist | 2 -- .../sysv/linux/mips/mips64/libpthread.abilist | 2 -- .../unix/sysv/linux/nios2/libpthread.abilist | 2 -- .../powerpc/powerpc32/libpthread.abilist | 2 -- .../powerpc/powerpc64/be/libpthread.abilist | 2 -- .../powerpc/powerpc64/le/libpthread.abilist | 2 -- .../sysv/linux/riscv/rv32/libpthread.abilist | 2 -- .../sysv/linux/riscv/rv64/libpthread.abilist | 2 -- .../linux/s390/s390-32/libpthread.abilist | 2 -- .../linux/s390/s390-64/libpthread.abilist | 2 -- .../unix/sysv/linux/sh/be/libpthread.abilist | 2 -- .../unix/sysv/linux/sh/le/libpthread.abilist | 2 -- .../linux/sparc/sparc32/libpthread.abilist | 2 -- .../linux/sparc/sparc64/libpthread.abilist | 2 -- .../sysv/linux/x86_64/64/libpthread.abilist | 2 -- .../sysv/linux/x86_64/x32/libpthread.abilist | 2 -- 32 files changed, 5 insertions(+), 92 deletions(-) delete mode 100644 sysdeps/pthread/funlockfile.c diff --git a/nptl/Makefile b/nptl/Makefile index 3bd72bc1c2..7062f972a6 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -178,7 +178,6 @@ libpthread-routines = \ cleanup \ cleanup_defer \ events \ - funlockfile \ libpthread-compat \ nptl-init \ nptlfreeres \ diff --git a/stdio-common/funlockfile.c b/stdio-common/funlockfile.c index 50f2f99948..66b4403dc2 100644 --- a/stdio-common/funlockfile.c +++ b/stdio-common/funlockfile.c @@ -17,13 +17,15 @@ . */ #include - -#undef _IO_funlockfile +#include +#include void __funlockfile (FILE *stream) { - /* Do nothing. Using this version does not do any locking. */ + bool multithread = __libc_single_threaded == 0; + if (multithread) + _IO_lock_unlock (*stream->_lock); } weak_alias (__funlockfile, _IO_funlockfile) weak_alias (__funlockfile, funlockfile); diff --git a/sysdeps/pthread/funlockfile.c b/sysdeps/pthread/funlockfile.c deleted file mode 100644 index 0ee5cb6451..0000000000 --- a/sysdeps/pthread/funlockfile.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - 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 - . */ - -#include -#include -#include - - -void -__funlockfile (FILE *stream) -{ - _IO_lock_unlock (*stream->_lock); -} -strong_alias (__funlockfile, _IO_funlockfile) -weak_alias (__funlockfile, funlockfile) diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index ffbd77cedf..36f05e77dd 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F -GLIBC_2.17 funlockfile F GLIBC_2.17 pthread_attr_getaffinity_np F GLIBC_2.17 pthread_attr_getguardsize F GLIBC_2.17 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 3110c6df17..ad0ae35282 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -1,6 +1,4 @@ -GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 7de7a4899e..83b55dfdb2 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.32 _IO_funlockfile F GLIBC_2.32 __errno_location F GLIBC_2.32 __pthread_register_cancel F GLIBC_2.32 __pthread_register_cancel_defer F GLIBC_2.32 __pthread_unregister_cancel F GLIBC_2.32 __pthread_unregister_cancel_restore F -GLIBC_2.32 funlockfile F GLIBC_2.32 pthread_attr_getaffinity_np F GLIBC_2.32 pthread_attr_getguardsize F GLIBC_2.32 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 3da5d28656..af98ddd266 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -8,14 +8,12 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __libpthread_version_placeholder F GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F GLIBC_2.4 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 3da5d28656..af98ddd266 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -8,14 +8,12 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __libpthread_version_placeholder F GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F GLIBC_2.4 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 6e86cd96cd..ae0b322740 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.29 _IO_funlockfile F GLIBC_2.29 __errno_location F GLIBC_2.29 __pthread_register_cancel F GLIBC_2.29 __pthread_register_cancel_defer F GLIBC_2.29 __pthread_unregister_cancel F GLIBC_2.29 __pthread_unregister_cancel_restore F -GLIBC_2.29 funlockfile F GLIBC_2.29 pthread_attr_getaffinity_np F GLIBC_2.29 pthread_attr_getguardsize F GLIBC_2.29 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 6dbe47e566..2a41f3b961 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -3,9 +3,7 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_getstackaddr F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index e50fac2320..d8f19bb5b4 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -1,6 +1,4 @@ -GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index c136f64653..c905c119be 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -3,9 +3,7 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_getstackaddr F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 3da5d28656..af98ddd266 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -8,14 +8,12 @@ GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F GLIBC_2.30 __libpthread_version_placeholder F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __libpthread_version_placeholder F GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F -GLIBC_2.4 funlockfile F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F GLIBC_2.4 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index e50fac2320..d8f19bb5b4 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -1,6 +1,4 @@ -GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index fd9fa8e1bf..fd957d6642 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F -GLIBC_2.18 funlockfile F GLIBC_2.18 pthread_attr_getaffinity_np F GLIBC_2.18 pthread_attr_getguardsize F GLIBC_2.18 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index fd9fa8e1bf..fd957d6642 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F -GLIBC_2.18 funlockfile F GLIBC_2.18 pthread_attr_getaffinity_np F GLIBC_2.18 pthread_attr_getguardsize F GLIBC_2.18 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index a607c10506..fe9d706889 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -1,6 +1,4 @@ -GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index a607c10506..fe9d706889 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -1,6 +1,4 @@ -GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index bfaf7b18cc..5497256770 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.21 _IO_funlockfile F GLIBC_2.21 __errno_location F GLIBC_2.21 __pthread_register_cancel F GLIBC_2.21 __pthread_register_cancel_defer F GLIBC_2.21 __pthread_unregister_cancel F GLIBC_2.21 __pthread_unregister_cancel_restore F -GLIBC_2.21 funlockfile F GLIBC_2.21 pthread_attr_getaffinity_np F GLIBC_2.21 pthread_attr_getguardsize F GLIBC_2.21 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index b7292ba735..b15a84fd3e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -1,6 +1,4 @@ -GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index ddd982e470..b3994cd280 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -6,9 +6,7 @@ GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.28 thrd_create F GLIBC_2.28 thrd_detach F GLIBC_2.28 thrd_join F -GLIBC_2.3 _IO_funlockfile F GLIBC_2.3 __errno_location F -GLIBC_2.3 funlockfile F GLIBC_2.3 pthread_attr_getguardsize F GLIBC_2.3 pthread_attr_getstack F GLIBC_2.3 pthread_attr_getstackaddr F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index ffbd77cedf..36f05e77dd 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F -GLIBC_2.17 funlockfile F GLIBC_2.17 pthread_attr_getaffinity_np F GLIBC_2.17 pthread_attr_getguardsize F GLIBC_2.17 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 2f492d0934..91e3afa737 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.33 _IO_funlockfile F GLIBC_2.33 __errno_location F GLIBC_2.33 __pthread_register_cancel F GLIBC_2.33 __pthread_register_cancel_defer F GLIBC_2.33 __pthread_unregister_cancel F GLIBC_2.33 __pthread_unregister_cancel_restore F -GLIBC_2.33 funlockfile F GLIBC_2.33 pthread_attr_getaffinity_np F GLIBC_2.33 pthread_attr_getguardsize F GLIBC_2.33 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 53363c9eca..b7bd70768f 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.27 _IO_funlockfile F GLIBC_2.27 __errno_location F GLIBC_2.27 __pthread_register_cancel F GLIBC_2.27 __pthread_register_cancel_defer F GLIBC_2.27 __pthread_unregister_cancel F GLIBC_2.27 __pthread_unregister_cancel_restore F -GLIBC_2.27 funlockfile F GLIBC_2.27 pthread_attr_getaffinity_np F GLIBC_2.27 pthread_attr_getguardsize F GLIBC_2.27 pthread_attr_getstack F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 0a2a1eacfa..8d22b21118 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -1,6 +1,4 @@ -GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index d105c7fc36..92336b6560 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -4,9 +4,7 @@ GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.19 __libpthread_version_placeholder F -GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_getstackaddr F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 6dbe47e566..2a41f3b961 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -3,9 +3,7 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_getstackaddr F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 6dbe47e566..2a41f3b961 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -3,9 +3,7 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_getstackaddr F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 3110c6df17..ad0ae35282 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -1,6 +1,4 @@ -GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F -GLIBC_2.0 funlockfile F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index c136f64653..c905c119be 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -3,9 +3,7 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F -GLIBC_2.2 funlockfile F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_getstackaddr F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 25f59472dd..06c5f0e4af 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -3,9 +3,7 @@ GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.2.5 _IO_funlockfile F GLIBC_2.2.5 __errno_location F -GLIBC_2.2.5 funlockfile F GLIBC_2.2.5 pthread_attr_getguardsize F GLIBC_2.2.5 pthread_attr_getstack F GLIBC_2.2.5 pthread_attr_getstackaddr F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 0fba7f100d..298d3185bb 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -1,10 +1,8 @@ -GLIBC_2.16 _IO_funlockfile F GLIBC_2.16 __errno_location F GLIBC_2.16 __pthread_register_cancel F GLIBC_2.16 __pthread_register_cancel_defer F GLIBC_2.16 __pthread_unregister_cancel F GLIBC_2.16 __pthread_unregister_cancel_restore F -GLIBC_2.16 funlockfile F GLIBC_2.16 pthread_attr_getaffinity_np F GLIBC_2.16 pthread_attr_getguardsize F GLIBC_2.16 pthread_attr_getstack F