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