diff mbox series

[V2] elf: Remove platform strings in dl-procinfo.c

Message ID 20240612073235.702683-2-stli@linux.ibm.com
State New
Headers show
Series [V2] elf: Remove platform strings in dl-procinfo.c | expand

Commit Message

Stefan Liebler June 12, 2024, 7:32 a.m. UTC
Remove the platform strings in dl-procinfo.c where also
the implementation of _dl_string_platform() was removed.
---
 sysdeps/alpha/dl-procinfo.c     | 62 ---------------------------------
 sysdeps/csky/dl-procinfo.c      | 62 ---------------------------------
 sysdeps/mips/dl-procinfo.c      | 49 ++++----------------------
 sysdeps/s390/dl-procinfo-s390.c |  6 ----
 sysdeps/s390/dl-procinfo.h      |  1 -
 sysdeps/x86/dl-procinfo.c       | 16 ---------
 6 files changed, 7 insertions(+), 189 deletions(-)
 delete mode 100644 sysdeps/alpha/dl-procinfo.c
 delete mode 100644 sysdeps/csky/dl-procinfo.c

Comments

Adhemerval Zanella June 14, 2024, 12:58 p.m. UTC | #1
On 12/06/24 04:32, Stefan Liebler wrote:
> Remove the platform strings in dl-procinfo.c where also
> the implementation of _dl_string_platform() was removed.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  sysdeps/alpha/dl-procinfo.c     | 62 ---------------------------------
>  sysdeps/csky/dl-procinfo.c      | 62 ---------------------------------
>  sysdeps/mips/dl-procinfo.c      | 49 ++++----------------------
>  sysdeps/s390/dl-procinfo-s390.c |  6 ----
>  sysdeps/s390/dl-procinfo.h      |  1 -
>  sysdeps/x86/dl-procinfo.c       | 16 ---------
>  6 files changed, 7 insertions(+), 189 deletions(-)
>  delete mode 100644 sysdeps/alpha/dl-procinfo.c
>  delete mode 100644 sysdeps/csky/dl-procinfo.c
> 
> diff --git a/sysdeps/alpha/dl-procinfo.c b/sysdeps/alpha/dl-procinfo.c
> deleted file mode 100644
> index 633dcbf974..0000000000
> --- a/sysdeps/alpha/dl-procinfo.c
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -/* Data for Alpha version of processor capability information.
> -   Copyright (C) 2008-2024 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/>.  */
> -
> -/* This information must be kept in sync with the _DL_PLATFORM_COUNT
> -   definitions in procinfo.h.
> -
> -   If anything should be added here check whether the size of each string
> -   is still ok with the given array size.
> -
> -   All the #ifdefs in the definitions are quite irritating but
> -   necessary if we want to avoid duplicating the information.  There
> -   are three different modes:
> -
> -   - PROCINFO_DECL is defined.  This means we are only interested in
> -     declarations.
> -
> -   - PROCINFO_DECL is not defined:
> -
> -     + if SHARED is defined the file is included in an array
> -       initializer.  The .element = { ... } syntax is needed.
> -
> -     + if SHARED is not defined a normal array initialization is
> -       needed.
> -  */
> -
> -#ifndef PROCINFO_CLASS
> -#define PROCINFO_CLASS
> -#endif
> -
> -#if !defined PROCINFO_DECL && defined SHARED
> -  ._dl_alpha_platforms
> -#else
> -PROCINFO_CLASS const char _dl_alpha_platforms[5][5]
> -#endif
> -#ifndef PROCINFO_DECL
> -= {
> -    "ev4", "ev5", "ev56", "ev6", "ev67"
> -  }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
> -#undef PROCINFO_DECL
> -#undef PROCINFO_CLASS
> diff --git a/sysdeps/csky/dl-procinfo.c b/sysdeps/csky/dl-procinfo.c
> deleted file mode 100644
> index 0c81518cff..0000000000
> --- a/sysdeps/csky/dl-procinfo.c
> +++ /dev/null
> @@ -1,62 +0,0 @@
> -/* Data for C-SKY version of processor capability information.
> -   Copyright (C) 2018-2024 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/>.  */
> -
> -/* This information must be kept in sync with the _DL_PLATFORM_COUNT
> -   definitions in procinfo.h.
> -
> -   If anything should be added here check whether the size of each string
> -   is still ok with the given array size.
> -
> -   All the #ifdefs in the definitions are quite irritating but
> -   necessary if we want to avoid duplicating the information.  There
> -   are three different modes:
> -
> -   - PROCINFO_DECL is defined.  This means we are only interested in
> -     declarations.
> -
> -   - PROCINFO_DECL is not defined:
> -
> -     + if SHARED is defined the file is included in an array
> -       initializer.  The .element = { ... } syntax is needed.
> -
> -     + if SHARED is not defined a normal array initialization is
> -       needed.
> -  */
> -
> -#ifndef PROCINFO_CLASS
> -# define PROCINFO_CLASS
> -#endif
> -
> -#if !defined PROCINFO_DECL && defined SHARED
> -  ._dl_csky_platforms
> -#else
> -PROCINFO_CLASS const char _dl_csky_platforms[4][6]
> -#endif
> -#ifndef PROCINFO_DECL
> -= {
> -    "ck610", "ck807", "ck810", "ck860"
> -  }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
> -#undef PROCINFO_DECL
> -#undef PROCINFO_CLASS
> diff --git a/sysdeps/mips/dl-procinfo.c b/sysdeps/mips/dl-procinfo.c
> index 0b1dfeea2d..6a1aaefef2 100644
> --- a/sysdeps/mips/dl-procinfo.c
> +++ b/sysdeps/mips/dl-procinfo.c
> @@ -16,47 +16,12 @@
>     License along with the GNU C Library.  If not, see
>     <https://www.gnu.org/licenses/>.  */
>  
> -/* This information must be kept in sync with the _DL_PLATFORM_COUNT
> -   definitions in procinfo.h.
> -
> -   If anything should be added here check whether the size of each string
> -   is still ok with the given array size.
> -
> -   All the #ifdefs in the definitions are quite irritating but
> -   necessary if we want to avoid duplicating the information.  There
> -   are three different modes:
> -
> -   - PROCINFO_DECL is defined.  This means we are only interested in
> -     declarations.
> -
> -   - PROCINFO_DECL is not defined:
> -
> -     + if SHARED is defined the file is included in an array
> -       initializer.  The .element = { ... } syntax is needed.
> -
> -     + if SHARED is not defined a normal array initialization is
> -       needed.
> -  */
> -
> -#ifndef PROCINFO_CLASS
> -#define PROCINFO_CLASS
> -#endif
> -
> -#if !defined PROCINFO_DECL && defined SHARED
> -  ._dl_mips_platforms
> -#else
> -PROCINFO_CLASS const char _dl_mips_platforms[4][11]
> -#endif
> -#ifndef PROCINFO_DECL
> -= {
> -    "loongson2e", "loongson2f", "octeon", "octeon2"
> -  }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
> +/* Note:
> +   When compiling elf/ldconfig.c, PROCINFO_CLASS is defined to static.
> +   This dl-procinfo.c is included in sysdeps/generic/ldsodefs.h.
> +   Afterwards, if not yet defined, PROCINFO_CLASS is defined to EXTERN
> +   just before dl-vdso-setup.c is included.  A "static" _dl_vdso_xyz
> +   function prototype would lead to gcc warnings/errors: defined but
> +   not used.  */
>  #undef PROCINFO_DECL
>  #undef PROCINFO_CLASS
> diff --git a/sysdeps/s390/dl-procinfo-s390.c b/sysdeps/s390/dl-procinfo-s390.c
> index 2821e40cb1..652f6067a3 100644
> --- a/sysdeps/s390/dl-procinfo-s390.c
> +++ b/sysdeps/s390/dl-procinfo-s390.c
> @@ -24,9 +24,3 @@ const char _dl_s390_cap_flags[_DL_HWCAP_COUNT][9] =
>      "highgprs", "te", "vx", "vxd", "vxe", "gs", "vxe2", "vxp", "sort", "dflt",
>      "vxp2", "nnpa", "pcimio", "sie"
>    };
> -
> -const char _dl_s390_platforms[_DL_PLATFORMS_COUNT][7] =
> -  {
> -    "g5", "z900", "z990", "z9-109", "z10", "z196", "zEC12", "z13", "z14", "z15",
> -    "z16"
> -  };
> diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h
> index ffeb655ad0..63c9889f94 100644
> --- a/sysdeps/s390/dl-procinfo.h
> +++ b/sysdeps/s390/dl-procinfo.h
> @@ -24,7 +24,6 @@
>  extern const char _dl_s390_cap_flags[_DL_HWCAP_COUNT][9] attribute_hidden;
>  
>  #define _DL_PLATFORMS_COUNT	11
> -extern const char _dl_s390_platforms[_DL_PLATFORMS_COUNT][7] attribute_hidden;
>  
>  /* The kernel provides up to 32 capability bits with elf_hwcap.  */
>  #define _DL_FIRST_PLATFORM	32
> diff --git a/sysdeps/x86/dl-procinfo.c b/sysdeps/x86/dl-procinfo.c
> index 5920d4b320..165ffd89a9 100644
> --- a/sysdeps/x86/dl-procinfo.c
> +++ b/sysdeps/x86/dl-procinfo.c
> @@ -71,22 +71,6 @@ PROCINFO_CLASS const char _dl_x86_hwcap_flags[3][9]
>  ,
>  #endif
>  
> -#if !defined PROCINFO_DECL && defined SHARED
> -  ._dl_x86_platforms
> -#else
> -PROCINFO_CLASS const char _dl_x86_platforms[4][9]
> -#endif
> -#ifndef PROCINFO_DECL
> -= {
> -    "i586", "i686", "haswell", "xeon_phi"
> -  }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
>  #if defined SHARED && !IS_IN (ldconfig)
>  # if !defined PROCINFO_DECL
>    ._dl_x86_tlsdesc_dynamic
diff mbox series

Patch

diff --git a/sysdeps/alpha/dl-procinfo.c b/sysdeps/alpha/dl-procinfo.c
deleted file mode 100644
index 633dcbf974..0000000000
--- a/sysdeps/alpha/dl-procinfo.c
+++ /dev/null
@@ -1,62 +0,0 @@ 
-/* Data for Alpha version of processor capability information.
-   Copyright (C) 2008-2024 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/>.  */
-
-/* This information must be kept in sync with the _DL_PLATFORM_COUNT
-   definitions in procinfo.h.
-
-   If anything should be added here check whether the size of each string
-   is still ok with the given array size.
-
-   All the #ifdefs in the definitions are quite irritating but
-   necessary if we want to avoid duplicating the information.  There
-   are three different modes:
-
-   - PROCINFO_DECL is defined.  This means we are only interested in
-     declarations.
-
-   - PROCINFO_DECL is not defined:
-
-     + if SHARED is defined the file is included in an array
-       initializer.  The .element = { ... } syntax is needed.
-
-     + if SHARED is not defined a normal array initialization is
-       needed.
-  */
-
-#ifndef PROCINFO_CLASS
-#define PROCINFO_CLASS
-#endif
-
-#if !defined PROCINFO_DECL && defined SHARED
-  ._dl_alpha_platforms
-#else
-PROCINFO_CLASS const char _dl_alpha_platforms[5][5]
-#endif
-#ifndef PROCINFO_DECL
-= {
-    "ev4", "ev5", "ev56", "ev6", "ev67"
-  }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
-
-#undef PROCINFO_DECL
-#undef PROCINFO_CLASS
diff --git a/sysdeps/csky/dl-procinfo.c b/sysdeps/csky/dl-procinfo.c
deleted file mode 100644
index 0c81518cff..0000000000
--- a/sysdeps/csky/dl-procinfo.c
+++ /dev/null
@@ -1,62 +0,0 @@ 
-/* Data for C-SKY version of processor capability information.
-   Copyright (C) 2018-2024 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/>.  */
-
-/* This information must be kept in sync with the _DL_PLATFORM_COUNT
-   definitions in procinfo.h.
-
-   If anything should be added here check whether the size of each string
-   is still ok with the given array size.
-
-   All the #ifdefs in the definitions are quite irritating but
-   necessary if we want to avoid duplicating the information.  There
-   are three different modes:
-
-   - PROCINFO_DECL is defined.  This means we are only interested in
-     declarations.
-
-   - PROCINFO_DECL is not defined:
-
-     + if SHARED is defined the file is included in an array
-       initializer.  The .element = { ... } syntax is needed.
-
-     + if SHARED is not defined a normal array initialization is
-       needed.
-  */
-
-#ifndef PROCINFO_CLASS
-# define PROCINFO_CLASS
-#endif
-
-#if !defined PROCINFO_DECL && defined SHARED
-  ._dl_csky_platforms
-#else
-PROCINFO_CLASS const char _dl_csky_platforms[4][6]
-#endif
-#ifndef PROCINFO_DECL
-= {
-    "ck610", "ck807", "ck810", "ck860"
-  }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
-
-#undef PROCINFO_DECL
-#undef PROCINFO_CLASS
diff --git a/sysdeps/mips/dl-procinfo.c b/sysdeps/mips/dl-procinfo.c
index 0b1dfeea2d..6a1aaefef2 100644
--- a/sysdeps/mips/dl-procinfo.c
+++ b/sysdeps/mips/dl-procinfo.c
@@ -16,47 +16,12 @@ 
    License along with the GNU C Library.  If not, see
    <https://www.gnu.org/licenses/>.  */
 
-/* This information must be kept in sync with the _DL_PLATFORM_COUNT
-   definitions in procinfo.h.
-
-   If anything should be added here check whether the size of each string
-   is still ok with the given array size.
-
-   All the #ifdefs in the definitions are quite irritating but
-   necessary if we want to avoid duplicating the information.  There
-   are three different modes:
-
-   - PROCINFO_DECL is defined.  This means we are only interested in
-     declarations.
-
-   - PROCINFO_DECL is not defined:
-
-     + if SHARED is defined the file is included in an array
-       initializer.  The .element = { ... } syntax is needed.
-
-     + if SHARED is not defined a normal array initialization is
-       needed.
-  */
-
-#ifndef PROCINFO_CLASS
-#define PROCINFO_CLASS
-#endif
-
-#if !defined PROCINFO_DECL && defined SHARED
-  ._dl_mips_platforms
-#else
-PROCINFO_CLASS const char _dl_mips_platforms[4][11]
-#endif
-#ifndef PROCINFO_DECL
-= {
-    "loongson2e", "loongson2f", "octeon", "octeon2"
-  }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
-
+/* Note:
+   When compiling elf/ldconfig.c, PROCINFO_CLASS is defined to static.
+   This dl-procinfo.c is included in sysdeps/generic/ldsodefs.h.
+   Afterwards, if not yet defined, PROCINFO_CLASS is defined to EXTERN
+   just before dl-vdso-setup.c is included.  A "static" _dl_vdso_xyz
+   function prototype would lead to gcc warnings/errors: defined but
+   not used.  */
 #undef PROCINFO_DECL
 #undef PROCINFO_CLASS
diff --git a/sysdeps/s390/dl-procinfo-s390.c b/sysdeps/s390/dl-procinfo-s390.c
index 2821e40cb1..652f6067a3 100644
--- a/sysdeps/s390/dl-procinfo-s390.c
+++ b/sysdeps/s390/dl-procinfo-s390.c
@@ -24,9 +24,3 @@  const char _dl_s390_cap_flags[_DL_HWCAP_COUNT][9] =
     "highgprs", "te", "vx", "vxd", "vxe", "gs", "vxe2", "vxp", "sort", "dflt",
     "vxp2", "nnpa", "pcimio", "sie"
   };
-
-const char _dl_s390_platforms[_DL_PLATFORMS_COUNT][7] =
-  {
-    "g5", "z900", "z990", "z9-109", "z10", "z196", "zEC12", "z13", "z14", "z15",
-    "z16"
-  };
diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h
index ffeb655ad0..63c9889f94 100644
--- a/sysdeps/s390/dl-procinfo.h
+++ b/sysdeps/s390/dl-procinfo.h
@@ -24,7 +24,6 @@ 
 extern const char _dl_s390_cap_flags[_DL_HWCAP_COUNT][9] attribute_hidden;
 
 #define _DL_PLATFORMS_COUNT	11
-extern const char _dl_s390_platforms[_DL_PLATFORMS_COUNT][7] attribute_hidden;
 
 /* The kernel provides up to 32 capability bits with elf_hwcap.  */
 #define _DL_FIRST_PLATFORM	32
diff --git a/sysdeps/x86/dl-procinfo.c b/sysdeps/x86/dl-procinfo.c
index 5920d4b320..165ffd89a9 100644
--- a/sysdeps/x86/dl-procinfo.c
+++ b/sysdeps/x86/dl-procinfo.c
@@ -71,22 +71,6 @@  PROCINFO_CLASS const char _dl_x86_hwcap_flags[3][9]
 ,
 #endif
 
-#if !defined PROCINFO_DECL && defined SHARED
-  ._dl_x86_platforms
-#else
-PROCINFO_CLASS const char _dl_x86_platforms[4][9]
-#endif
-#ifndef PROCINFO_DECL
-= {
-    "i586", "i686", "haswell", "xeon_phi"
-  }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
-
 #if defined SHARED && !IS_IN (ldconfig)
 # if !defined PROCINFO_DECL
   ._dl_x86_tlsdesc_dynamic