[v2,01/16] stdio-common: Remove _IO_vfwscanf
Checks
Commit Message
The symbol has never been exported, so no compatibility symbol is
needed. Removing this file prevents ld from creation an exported
symbol in case GLIBC_2_0 expands to a symbol version which
does not have a local: *; directive in the symbol version map file.
---
libio/libio.h | 2 --
stdio-common/Makefile | 2 +-
stdio-common/iovfwscanf.c | 38 ---------------------
sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 1 -
4 files changed, 1 insertion(+), 42 deletions(-)
delete mode 100644 stdio-common/iovfwscanf.c
Comments
On 31/05/2021 11:11, Florian Weimer via Libc-alpha wrote:
> The symbol has never been exported, so no compatibility symbol is
> needed. Removing this file prevents ld from creation an exported
> symbol in case GLIBC_2_0 expands to a symbol version which
> does not have a local: *; directive in the symbol version map file.
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> libio/libio.h | 2 --
> stdio-common/Makefile | 2 +-
> stdio-common/iovfwscanf.c | 38 ---------------------
> sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 1 -
> 4 files changed, 1 insertion(+), 42 deletions(-)
> delete mode 100644 stdio-common/iovfwscanf.c
>
> diff --git a/libio/libio.h b/libio/libio.h
> index 511b39457f..98d526dec7 100644
> --- a/libio/libio.h
> +++ b/libio/libio.h
> @@ -254,8 +254,6 @@ weak_extern (_IO_stdin_used);
> __result = _IO_fwide (__fp, __result); \
> __result; })
>
> -extern int _IO_vfwscanf (FILE * __restrict, const wchar_t * __restrict,
> - __gnuc_va_list, int *__restrict);
> extern __ssize_t _IO_wpadn (FILE *, wint_t, __ssize_t);
> extern void _IO_free_wbackup_area (FILE *) __THROW;
>
Ok.
> diff --git a/stdio-common/Makefile b/stdio-common/Makefile
> index b2458ba4a6..f87796a8ce 100644
> --- a/stdio-common/Makefile
> +++ b/stdio-common/Makefile
> @@ -40,7 +40,7 @@ routines := \
> isoc99_scanf isoc99_vscanf isoc99_fscanf isoc99_vfscanf isoc99_sscanf \
> isoc99_vsscanf \
> psiginfo gentempfd \
> - vfscanf-internal vfwscanf-internal iovfscanf iovfwscanf \
> + vfscanf-internal vfwscanf-internal iovfscanf \
> vfprintf-internal vfwprintf-internal
>
> aux := errlist siglist printf-parsemb printf-parsewc fxprintf
Ok.
> diff --git a/stdio-common/iovfwscanf.c b/stdio-common/iovfwscanf.c
> deleted file mode 100644
> index 56b6b3b0d5..0000000000
> --- a/stdio-common/iovfwscanf.c
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -/* Implementation and symbols for _IO_vfwscanf.
> - Copyright (C) 1991-2021 Free Software Foundation, Inc.
> - This file is part of the GNU C Library.
> -
> - 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 <libioP.h>
> -#include <shlib-compat.h>
> -
> -/* This function is provided for ports older than GLIBC 2.29 because
> - external callers could theoretically exist. Newer ports do not need,
> - since it is not part of the API. */
> -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_29)
> -
> -int
> -attribute_compat_text_section
> -__IO_vfwscanf (FILE *fp, const wchar_t *format, va_list ap, int *errp)
> -{
> - int rv = __vfwscanf_internal (fp, format, ap, 0);
> - if (__glibc_unlikely (errp != 0))
> - *errp = (rv == -1);
> - return rv;
> -}
> -compat_symbol (libc, __IO_vfwscanf, _IO_vfwscanf, GLIBC_2_0);
> -
> -#endif
Ok.
> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
> index 7b42746c34..67d476383a 100644
> --- a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
> +++ b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
> @@ -325,7 +325,6 @@ ldbl-ibm128-files := $(objpfx)test-%-ibm128^ \
> $(objpfx)iovsscanf^ \
> $(objpfx)iovswscanf^ \
> $(objpfx)iovfscanf^ \
> - $(objpfx)iovfwscanf^ \
> $(objpfx)mpn2ldbl^ \
> $(objpfx)ldbl2mpn^ \
> $(objpfx)strtold_nan^ \
>
Ok.
@@ -254,8 +254,6 @@ weak_extern (_IO_stdin_used);
__result = _IO_fwide (__fp, __result); \
__result; })
-extern int _IO_vfwscanf (FILE * __restrict, const wchar_t * __restrict,
- __gnuc_va_list, int *__restrict);
extern __ssize_t _IO_wpadn (FILE *, wint_t, __ssize_t);
extern void _IO_free_wbackup_area (FILE *) __THROW;
@@ -40,7 +40,7 @@ routines := \
isoc99_scanf isoc99_vscanf isoc99_fscanf isoc99_vfscanf isoc99_sscanf \
isoc99_vsscanf \
psiginfo gentempfd \
- vfscanf-internal vfwscanf-internal iovfscanf iovfwscanf \
+ vfscanf-internal vfwscanf-internal iovfscanf \
vfprintf-internal vfwprintf-internal
aux := errlist siglist printf-parsemb printf-parsewc fxprintf
deleted file mode 100644
@@ -1,38 +0,0 @@
-/* Implementation and symbols for _IO_vfwscanf.
- Copyright (C) 1991-2021 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- 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 <libioP.h>
-#include <shlib-compat.h>
-
-/* This function is provided for ports older than GLIBC 2.29 because
- external callers could theoretically exist. Newer ports do not need,
- since it is not part of the API. */
-#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_29)
-
-int
-attribute_compat_text_section
-__IO_vfwscanf (FILE *fp, const wchar_t *format, va_list ap, int *errp)
-{
- int rv = __vfwscanf_internal (fp, format, ap, 0);
- if (__glibc_unlikely (errp != 0))
- *errp = (rv == -1);
- return rv;
-}
-compat_symbol (libc, __IO_vfwscanf, _IO_vfwscanf, GLIBC_2_0);
-
-#endif
@@ -325,7 +325,6 @@ ldbl-ibm128-files := $(objpfx)test-%-ibm128^ \
$(objpfx)iovsscanf^ \
$(objpfx)iovswscanf^ \
$(objpfx)iovfscanf^ \
- $(objpfx)iovfwscanf^ \
$(objpfx)mpn2ldbl^ \
$(objpfx)ldbl2mpn^ \
$(objpfx)strtold_nan^ \