[v2,01/16] stdio-common: Remove _IO_vfwscanf

Message ID 09aaf7bc489ed6504ed591f0453e21c49204e849.1622469908.git.fweimer@redhat.com
State New
Headers show
Series
  • Move libdl into libc
Related show

Commit Message

Szabolcs Nagy via Libc-alpha May 31, 2021, 2:11 p.m.
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

-- 
2.31.1

Comments

Szabolcs Nagy via Libc-alpha May 31, 2021, 7:42 p.m. | #1
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.

Patch

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;
 
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
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
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^ \