[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