linux: Move flockfile/_IO_flockfile into libc

The nptl version is used as default, since now with symbol always
present the single-thread optimization is tricky.

Hurd is not change, it is used it own lock scheme (which call
_cthreads_flockfile).

Checked on x86_64-linux-gnu.
This commit is contained in:
Adhemerval Zanella 2021-05-06 15:49:45 -03:00
parent 30685597a4
commit 7b4e7ca9db
32 changed files with 3 additions and 94 deletions

View File

@ -179,7 +179,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)

View File

@ -17,13 +17,13 @@
<https://www.gnu.org/licenses/>. */
#include <stdio.h>
#undef _IO_flockfile
#include <stdio-lock.h>
void
__flockfile (FILE *stream)
{
/* Do nothing. Using this version does not do any locking. */
stream->_flags2 |= _IO_FLAGS2_NEED_LOCK;
_IO_lock_lock (*stream->_lock);
}
weak_alias (__flockfile, flockfile);
weak_alias (__flockfile, _IO_flockfile)

View File

@ -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 <drepper@redhat.com>, 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
<https://www.gnu.org/licenses/>. */
#include <pthread.h>
#include <stdio.h>
#include <stdio-lock.h>
void
__flockfile (FILE *stream)
{
stream->_flags2 |= _IO_FLAGS2_NEED_LOCK;
_IO_lock_lock (*stream->_lock);
}
strong_alias (__flockfile, _IO_flockfile)
weak_alias (__flockfile, flockfile)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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