[PATCH] Remove unused dl-procinfo.h
Stefan Liebler
stli@linux.ibm.com
Tue Nov 26 15:44:33 GMT 2024
On 25.11.24 14:43, Wilco Dijkstra wrote:
> Remove unused _dl_hwcap_string defines. As a result many dl-procinfo.h headers
> can be removed. This also removes target specific _dl_procinfo implementations
> which only printed HWCAP strings using dl_hwcap_string.
I think removing unused _dl_hwcap_string defines is fine.
What is the idea behind not printing the HWCAP strings anymore?
Is the idea to remove the _dl_procinfo mechanism at all? I think powerpc
is the only leftover after your patch?
The _dl_procinfo versions for sparc, i386, s390 have not used
_dl_hwcap_string, but were removed. Instead those have just used the
dl_<arch>_cap_flags directly. Similar could also be done for arm.
If the intention is really to not print AT_HWCAP strings anymore, then
please also remove dl_s390_cap_flags in sysdeps/s390/dl-procinfo-s390.c.
I think _DL_HWCAP_COUNT can then also be removed (not only on s390).
Bye
Stefan
>
> Passes buildmanyglibc, OK for commit?
>
> ---
>
> diff --git a/sysdeps/alpha/dl-procinfo.h b/sysdeps/alpha/dl-procinfo.h
> deleted file mode 100644
> index 8d17d42ce2da36be67e78a57c97b32ed02a57575..0000000000000000000000000000000000000000
> --- a/sysdeps/alpha/dl-procinfo.h
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -/* Alpha version of processor capability information handling macros.
> - 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/>. */
> -
> -#ifndef _DL_PROCINFO_H
> -#define _DL_PROCINFO_H 1
> -
> -#include <ldsodefs.h>
> -
> -/* We cannot provide a general printing function. */
> -#define _dl_procinfo(type, word) -1
> -
> -/* There are no hardware capabilities defined. */
> -#define _dl_hwcap_string(idx) ""
> -
> -/* We don't have any hardware capabilities. */
> -#define _DL_HWCAP_COUNT 0
> -
> -#endif /* dl-procinfo.h */
> diff --git a/sysdeps/csky/dl-procinfo.h b/sysdeps/csky/dl-procinfo.h
> deleted file mode 100644
> index f5f6343cf64b3448b28496934c6f7d07428c7280..0000000000000000000000000000000000000000
> --- a/sysdeps/csky/dl-procinfo.h
> +++ /dev/null
> @@ -1,34 +0,0 @@
> -/* C-SKY version of processor capability information handling macros.
> - 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/>. */
> -
> -
> -#ifndef _DL_PROCINFO_H
> -#define _DL_PROCINFO_H 1
> -
> -#include <ldsodefs.h>
> -
> -/* We cannot provide a general printing function. */
> -#define _dl_procinfo(word, val) -1
> -
> -/* There are no hardware capabilities defined. */
> -#define _dl_hwcap_string(idx) ""
> -
> -/* We don't have any hardware capabilities. */
> -#define _DL_HWCAP_COUNT 0
> -
> -#endif /* dl-procinfo.h */
> diff --git a/sysdeps/generic/dl-procinfo.h b/sysdeps/generic/dl-procinfo.h
> index 93edfc00cb3830608d8715765cfa120cfe163d84..04d6fb00a202675aa6b895dd3b9c5a19ff68ca20 100644
> --- a/sysdeps/generic/dl-procinfo.h
> +++ b/sysdeps/generic/dl-procinfo.h
> @@ -22,10 +22,4 @@
> /* We cannot provide a general printing function. */
> #define _dl_procinfo(type, word) -1
>
> -/* There are no hardware capabilities defined. */
> -#define _dl_hwcap_string(idx) ""
> -
> -/* We don't have any hardware capabilities. */
> -#define _DL_HWCAP_COUNT 0
> -
> #endif /* dl-procinfo.h */
> diff --git a/sysdeps/i386/dl-procinfo.c b/sysdeps/i386/dl-procinfo.c
> index e7c82414c01003e6d69769debac385f6ff77cbbb..fb82fbd7f11416173109938211bb807764d42453 100644
> --- a/sysdeps/i386/dl-procinfo.c
> +++ b/sysdeps/i386/dl-procinfo.c
> @@ -41,24 +41,5 @@
>
> #include <sysdeps/x86/dl-procinfo.c>
>
> -#if !defined PROCINFO_DECL && defined SHARED
> - ._dl_x86_cap_flags
> -#else
> -PROCINFO_CLASS const char _dl_x86_cap_flags[32][8]
> -#endif
> -#ifndef PROCINFO_DECL
> -= {
> - "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce",
> - "cx8", "apic", "10", "sep", "mtrr", "pge", "mca", "cmov",
> - "pat", "pse36", "pn", "clflush", "20", "dts", "acpi", "mmx",
> - "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe"
> - }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
> #undef PROCINFO_DECL
> #undef PROCINFO_CLASS
> diff --git a/sysdeps/mips/dl-procinfo.h b/sysdeps/mips/dl-procinfo.h
> deleted file mode 100644
> index af2616e1db61a1485cc32323c3e0b3a4cd898587..0000000000000000000000000000000000000000
> --- a/sysdeps/mips/dl-procinfo.h
> +++ /dev/null
> @@ -1,33 +0,0 @@
> -/* Mips version of processor capability information handling macros.
> - Copyright (C) 2007-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/>. */
> -
> -#ifndef _DL_PROCINFO_H
> -#define _DL_PROCINFO_H 1
> -
> -#include <ldsodefs.h>
> -
> -/* We cannot provide a general printing function. */
> -#define _dl_procinfo(type, word) -1
> -
> -/* There are no hardware capabilities defined. */
> -#define _dl_hwcap_string(idx) ""
> -
> -/* We don't have any hardware capabilities. */
> -#define _DL_HWCAP_COUNT 0
> -
> -#endif /* dl-procinfo.h */
> diff --git a/sysdeps/s390/dl-procinfo.h b/sysdeps/s390/dl-procinfo.h
> index 45dd11c189b48e0fba436cc57dcee6b290d5c08f..ea9356735aea2b5d0b96d6e51bdc8ed8b3a04250 100644
> --- a/sysdeps/s390/dl-procinfo.h
> +++ b/sysdeps/s390/dl-procinfo.h
> @@ -62,11 +62,4 @@ enum
> /* We cannot provide a general printing function. */
> #define _dl_procinfo(type, word) -1
>
> -static inline const char *
> -__attribute__ ((unused))
> -_dl_hwcap_string (int idx)
> -{
> - return _dl_s390_cap_flags[idx];
> -};
> -
> #endif /* dl-procinfo.h */
> diff --git a/sysdeps/sparc/dl-procinfo.h b/sysdeps/sparc/dl-procinfo.h
> deleted file mode 100644
> index 709178706c5a43a87d235ed40f1643e730135682..0000000000000000000000000000000000000000
> --- a/sysdeps/sparc/dl-procinfo.h
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -/* Linux/sparc version of processor capability information handling macros.
> - Copyright (C) 1999-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/>. */
> -
> -#ifndef _DL_PROCINFO_H
> -#define _DL_PROCINFO_H 1
> -
> -#include <ldsodefs.h>
> -#include <sysdep.h>
> -
> -#define _DL_HWCAP_COUNT 28
> -
> -static inline int
> -__attribute__ ((unused))
> -_dl_procinfo (unsigned int type, unsigned long int word)
> -{
> - int i;
> -
> - /* Fallback to generic output mechanism. */
> - if (type != AT_HWCAP)
> - return -1;
> -
> - _dl_printf ("AT_HWCAP: ");
> -
> - for (i = 0; i < _DL_HWCAP_COUNT; ++i)
> - if (word & (1 << i))
> - _dl_printf (" %s", GLRO(dl_sparc_cap_flags)[i]);
> -
> - _dl_printf ("\n");
> -
> - return 0;
> -}
> -
> -static inline const char *
> -__attribute__ ((unused))
> -_dl_hwcap_string (int idx)
> -{
> - return GLRO(dl_sparc_cap_flags)[idx];
> -};
> -
> -#endif /* dl-procinfo.h */
> diff --git a/sysdeps/sparc/dl-procinfo.c b/sysdeps/sparc/dl-procinfo.c
> deleted file mode 100644
> index 643fbd9ebf801cd0fff6a2b499c677153a601aa3..0000000000000000000000000000000000000000
> --- a/sysdeps/sparc/dl-procinfo.c
> +++ /dev/null
> @@ -1,63 +0,0 @@
> -/* Data for Linux/sparc version of processor capability information.
> - Copyright (C) 2002-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_HWCAP_COUNT
> - definition 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 ar equite 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_sparc_cap_flags
> -#else
> -PROCINFO_CLASS const char _dl_sparc_cap_flags[28][11]
> -#endif
> -#ifndef PROCINFO_DECL
> - = { "flush", "stbar", "swap", "muldiv", "v9", "ultra3", "v9v", "v9v2",
> - "mul32", "div32", "fsmuld", "v8plus", "popc", "vis", "vis2",
> - "ASIBlkInit", "fmaf", "vis3", "hpc", "random", "trans", "fjfmau",
> - "ima", "cspare", "pause", "cbcond", "crypto", "adp" }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
> -#undef PROCINFO_DECL
> -#undef PROCINFO_CLASS
> diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
> deleted file mode 100644
> index b85d4ad8a32e41fb6f884517108f806ad62bf93b..0000000000000000000000000000000000000000
> --- a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -/* Processor capability information handling macros - aarch64 version.
> - Copyright (C) 2017-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/>. */
> -
> -#ifndef _DL_PROCINFO_H
> -#define _DL_PROCINFO_H 1
> -
> -#include <sys/auxv.h>
> -#include <unistd.h>
> -#include <ldsodefs.h>
> -#include <sysdep.h>
> -
> -/* We cannot provide a general printing function. */
> -#define _dl_procinfo(type, word) -1
> -
> -static inline const char *
> -__attribute__ ((unused))
> -_dl_hwcap_string (int idx)
> -{
> - return (unsigned)idx < _DL_HWCAP_COUNT ? GLRO(dl_aarch64_cap_flags)[idx] : "";
> -};
> -
> -#endif /* dl-procinfo.h */
> diff --git a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
> index 7af232de523e8e2cc95554a49fcf26842ad7ecaa..f303d7ab47903af547b05436c473eea1df9be5e2 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
> +++ b/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
> @@ -56,27 +56,5 @@ PROCINFO_CLASS struct cpu_features _dl_aarch64_cpu_features
> # endif
> #endif
>
> -/* Number of HWCAP bits set. */
> -#define _DL_HWCAP_COUNT 32
> -
> -#if !defined PROCINFO_DECL && defined SHARED
> - ._dl_aarch64_cap_flags
> -#else
> -PROCINFO_CLASS const char _dl_aarch64_cap_flags[_DL_HWCAP_COUNT][10]
> -#endif
> -#ifndef PROCINFO_DECL
> -/* Matches the names in arch/arm64/kernel/cpuinfo.c of Linux. */
> -= { "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2", "crc32",
> - "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm", "jscvt", "fcma",
> - "lrcpc", "dcpop", "sha3", "sm3", "sm4", "asimddp", "sha512", "sve",
> - "asimdfhm", "dit", "uscat", "ilrcpc", "flagm", "ssbs", "sb", "paca",
> - "pacg" }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
> #undef PROCINFO_DECL
> #undef PROCINFO_CLASS
> diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h b/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
> deleted file mode 100644
> index 7d26216718d3b0bee35b16c62ff08a2e3bdbe873..0000000000000000000000000000000000000000
> --- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.h
> +++ /dev/null
> @@ -1,73 +0,0 @@
> -/* Linux/ARM version of processor capability information handling macros.
> - Copyright (C) 2001-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/>. */
> -
> -#ifndef _DL_PROCINFO_H
> -#define _DL_PROCINFO_H 1
> -
> -#include <ldsodefs.h>
> -#include <sysdep.h>
> -
> -#define _DL_HWCAP_COUNT 27
> -
> -/* Low 28 bits are allocated in HWCAP. */
> -#define _DL_HWCAP_LAST 27
> -
> -/* Low 7 bits are allocated in HWCAP2. */
> -#define _DL_HWCAP2_LAST 6
> -
> -
> -static inline const char *
> -__attribute__ ((unused))
> -_dl_hwcap_string (int idx)
> -{
> - return GLRO(dl_arm_cap_flags)[idx];
> -};
> -
> -static inline int
> -__attribute__ ((unused))
> -_dl_procinfo (unsigned int type, unsigned long int word)
> -{
> - switch(type)
> - {
> - case AT_HWCAP:
> - _dl_printf ("AT_HWCAP: ");
> -
> - for (int i = 0; i <= _DL_HWCAP_LAST; ++i)
> - if (word & (1 << i))
> - _dl_printf (" %s", _dl_hwcap_string (i));
> - break;
> - case AT_HWCAP2:
> - {
> - unsigned int offset = _DL_HWCAP_LAST + 1;
> -
> - _dl_printf ("AT_HWCAP2: ");
> -
> - for (int i = 0; i <= _DL_HWCAP2_LAST; ++i)
> - if (word & (1 << i))
> - _dl_printf (" %s", _dl_hwcap_string (offset + i));
> - break;
> - }
> - default:
> - /* Fallback to generic output mechanism. */
> - return -1;
> - }
> - _dl_printf ("\n");
> - return 0;
> -}
> -
> -#endif /* dl-procinfo.h */
> diff --git a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c b/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
> deleted file mode 100644
> index ad18a8ce8f1dd1a202e03ec3f15da23d436cac15..0000000000000000000000000000000000000000
> --- a/sysdeps/unix/sysv/linux/arm/dl-procinfo.c
> +++ /dev/null
> @@ -1,66 +0,0 @@
> -/* Data for Linux/ARM version of processor capability information.
> - Copyright (C) 2001-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_HWCAP_COUNT and
> - _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_arm_cap_flags
> -#else
> -PROCINFO_CLASS const char _dl_arm_cap_flags[35][10]
> -#endif
> -#ifndef PROCINFO_DECL
> -= {
> - "swp", "half", "thumb", "26bit", "fastmult", "fpa", "vfp", "edsp",
> - "java", "iwmmxt", "crunch", "thumbee", "neon", "vfpv3", "vfpv3d16",
> - "tls", "vfpv4", "idiva", "idivt", "vfpd32", "lpae", "evtstrm",
> - "fphp", "asimdhp", "asimddp", "asimdfhm", "asimdbf16", "i8mm",
> - "aes", "pmull", "sha1", "sha2", "crc32", "sb", "ssbs",
> - }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
> -#undef PROCINFO_DECL
> -#undef PROCINFO_CLASS
> diff --git a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
> deleted file mode 100644
> index 3de8dea0df44086424524a9e58e4a455461fb74a..0000000000000000000000000000000000000000
> --- a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h
> +++ /dev/null
> @@ -1,46 +0,0 @@
> -/* Linux/i386 version of processor capability information handling macros.
> - Copyright (C) 1998-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/>. */
> -
> -#ifndef _DL_I386_PROCINFO_H
> -#define _DL_I386_PROCINFO_H 1
> -#include <sysdeps/x86/dl-procinfo.h>
> -
> -#undef _dl_procinfo
> -static inline int
> -__attribute__ ((unused))
> -_dl_procinfo (unsigned int type, unsigned long int word)
> -{
> - /* This table should match the information from arch/i386/kernel/setup.c
> - in the kernel sources. */
> - int i;
> -
> - /* Fallback to generic output mechanism. */
> - if (type != AT_HWCAP)
> - return -1;
> -
> - _dl_printf ("AT_HWCAP: ");
> -
> - for (i = 0; i < 32; ++i)
> - if (word & (1 << i))
> - _dl_printf (" %s", GLRO(dl_x86_cap_flags)[i]);
> -
> - _dl_printf ("\n");
> -
> - return 0;
> -}
> -#endif
> diff --git a/sysdeps/unix/sysv/linux/s390/dl-procinfo.h b/sysdeps/unix/sysv/linux/s390/dl-procinfo.h
> deleted file mode 100644
> index bcae03e93416648ee7e895ae0759c91f04bd3635..0000000000000000000000000000000000000000
> --- a/sysdeps/unix/sysv/linux/s390/dl-procinfo.h
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -/* Linux/s390 version of processor capability information handling macros.
> - Copyright (C) 2006-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/>. */
> -
> -#ifndef _DL_S390_PROCINFO_H
> -#define _DL_S390_PROCINFO_H 1
> -#include <sysdeps/s390/dl-procinfo.h>
> -#include <ldsodefs.h>
> -
> -
> -#undef _dl_procinfo
> -static inline int
> -__attribute__ ((unused))
> -_dl_procinfo (unsigned int type, unsigned long int word)
> -{
> - /* This table should match the information from arch/s390/kernel/setup.c
> - in the kernel sources. */
> - int i;
> -
> - /* Fallback to generic output mechanism. */
> - if (type != AT_HWCAP)
> - return -1;
> -
> - _dl_printf ("AT_HWCAP: ");
> -
> - for (i = 0; i < _DL_HWCAP_COUNT; ++i)
> - if (word & (1UL << i))
> - _dl_printf (" %s", _dl_s390_cap_flags[i]);
> -
> - _dl_printf ("\n");
> -
> - return 0;
> -}
> -#endif
> diff --git a/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h b/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h
> deleted file mode 100644
> index 7b45fe4bf8675a16573764b316106c63401a5a45..0000000000000000000000000000000000000000
> --- a/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -#if IS_IN (ldconfig)
> -# include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h>
> -#else
> -# include <sysdeps/x86/dl-procinfo.h>
> -#endif
> diff --git a/sysdeps/x86/dl-hwcap.h b/sysdeps/x86/dl-hwcap.h
> index 325f1c467ca77bf4f4c9d5aa4009b39bcea9592e..8c181e3cb3639932997da42252ccd690081284e7 100644
> --- a/sysdeps/x86/dl-hwcap.h
> +++ b/sysdeps/x86/dl-hwcap.h
> @@ -25,13 +25,6 @@ enum
> HWCAP_X86_AVX512_1 = 1 << 2
> };
>
> -static inline const char *
> -__attribute__ ((unused))
> -_dl_hwcap_string (int idx)
> -{
> - return GLRO(dl_x86_hwcap_flags)[idx];
> -};
> -
> /* We cannot provide a general printing function. */
> #define _dl_procinfo(type, word) -1
>
> diff --git a/sysdeps/x86/dl-procinfo.c b/sysdeps/x86/dl-procinfo.c
> index b791fd3e92ba53f7611e82d3fbbebc61fce34d7e..b6b8f7d24e8fca59c8066e7824ac61b0ad63f26d 100644
> --- a/sysdeps/x86/dl-procinfo.c
> +++ b/sysdeps/x86/dl-procinfo.c
> @@ -54,22 +54,6 @@ PROCINFO_CLASS struct cpu_features _dl_x86_cpu_features
> # endif
> #endif
>
> -#if !defined PROCINFO_DECL && defined SHARED
> - ._dl_x86_hwcap_flags
> -#else
> -PROCINFO_CLASS const char _dl_x86_hwcap_flags[3][9]
> -#endif
> -#ifndef PROCINFO_DECL
> -= {
> - "sse2", "x86_64", "avx512_1"
> - }
> -#endif
> -#if !defined SHARED || defined PROCINFO_DECL
> -;
> -#else
> -,
> -#endif
> -
> #if defined SHARED && !IS_IN (ldconfig)
> # if !defined PROCINFO_DECL
> ._dl_x86_tlsdesc_dynamic
>
>
More information about the Libc-alpha
mailing list