[PATCH v3 01/19] stdlib: Remove mp_clz_tab.c

Collin Funk collin.funk1@gmail.com
Sat Nov 1 00:17:18 GMT 2025


Adhemerval Zanella <adhemerval.zanella@linaro.org> writes:

> The count_leading_zeros is not used anymore, so there is no need to
> provide the table for possible usage.  The hppa already provides
> the compat symbol on libgcc-compat.c.
> ---
>  stdlib/Makefile              |  1 -
>  stdlib/mp_clz_tab.c          | 36 ------------------------------------
>  sysdeps/hppa/mp_clz_tab.c    |  1 -
>  sysdeps/i386/mp_clz_tab.c    |  1 -
>  sysdeps/powerpc/mp_clz_tab.c |  1 -
>  sysdeps/x86_64/mp_clz_tab.c  |  1 -
>  6 files changed, 41 deletions(-)
>  delete mode 100644 stdlib/mp_clz_tab.c
>  delete mode 100644 sysdeps/hppa/mp_clz_tab.c
>  delete mode 100644 sysdeps/i386/mp_clz_tab.c
>  delete mode 100644 sysdeps/powerpc/mp_clz_tab.c
>  delete mode 100644 sysdeps/x86_64/mp_clz_tab.c
>
> diff --git a/stdlib/Makefile b/stdlib/Makefile
> index e9319cf95da..176a79572b0 100644
> --- a/stdlib/Makefile
> +++ b/stdlib/Makefile
> @@ -513,7 +513,6 @@ routines := \
>    # routines
>  aux += \
>    fpioconst \
> -  mp_clz_tab \
>    # aux
>  
>  tests-extras += \
> diff --git a/stdlib/mp_clz_tab.c b/stdlib/mp_clz_tab.c
> deleted file mode 100644
> index 9084298803e..00000000000
> --- a/stdlib/mp_clz_tab.c
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -/* __clz_tab -- support for longlong.h
> -   Copyright (C) 1991-2025 Free Software Foundation, Inc.
> -   This file is part of the GNU C Library.  Its master source is NOT part of
> -   the C library, however.  The master source lives in the GNU MP 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/>.  */
> -
> -#if 0
> -#include <gmp.h>
> -#include "gmp-impl.h"
> -#endif
> -
> -const
> -unsigned char __clz_tab[] =
> -{
> -  0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
> -  6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
> -  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
> -  7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
> -  8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
> -  8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
> -  8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
> -  8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
> -};
> diff --git a/sysdeps/hppa/mp_clz_tab.c b/sysdeps/hppa/mp_clz_tab.c
> deleted file mode 100644
> index 52d06383c19..00000000000
> --- a/sysdeps/hppa/mp_clz_tab.c
> +++ /dev/null
> @@ -1 +0,0 @@
> -/* __clz_tab not needed on hppa.  */
> diff --git a/sysdeps/i386/mp_clz_tab.c b/sysdeps/i386/mp_clz_tab.c
> deleted file mode 100644
> index 860f98cc62a..00000000000
> --- a/sysdeps/i386/mp_clz_tab.c
> +++ /dev/null
> @@ -1 +0,0 @@
> -/* __clz_tab not needed on i386.  */
> diff --git a/sysdeps/powerpc/mp_clz_tab.c b/sysdeps/powerpc/mp_clz_tab.c
> deleted file mode 100644
> index 4b5f29bfe5d..00000000000
> --- a/sysdeps/powerpc/mp_clz_tab.c
> +++ /dev/null
> @@ -1 +0,0 @@
> -/* __clz_tab not needed on powerpc.  */
> diff --git a/sysdeps/x86_64/mp_clz_tab.c b/sysdeps/x86_64/mp_clz_tab.c
> deleted file mode 100644
> index 7b13a394da8..00000000000
> --- a/sysdeps/x86_64/mp_clz_tab.c
> +++ /dev/null
> @@ -1 +0,0 @@
> -/* __clz_tab not needed on x86-64.  */

Looks good. I cross-compiled successfully for hppa, but don't have a
machine to test with. I guess if glibc/sysdeps/hppa/libgcc-compat.c
didn't exist it would fail to link so

Reviewed-by: Collin Funk <collin.funk1@gmail.com>

Collin


More information about the Libc-alpha mailing list