about summary refs log tree commit diff
path: root/sysdeps/s390/dl-procinfo.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2022-08-25 16:34:20 +0200
committerFlorian Weimer <fweimer@redhat.com>2022-08-25 21:33:12 +0200
commit5ecc98241229d494aaad23a4a3fe106fe11e1f40 (patch)
tree96d65b3208bb8ce7b0cc2ff41571d09d761e1623 /sysdeps/s390/dl-procinfo.c
parent89baed0b93639180fd7d0ba922873b003649c7af (diff)
downloadglibc-5ecc98241229d494aaad23a4a3fe106fe11e1f40.tar.gz
glibc-5ecc98241229d494aaad23a4a3fe106fe11e1f40.tar.xz
glibc-5ecc98241229d494aaad23a4a3fe106fe11e1f40.zip
s390: Move hwcaps/platform names out of _rtld_global_ro
Changes to these arrays are often backported to stable releases,
but additions to these arrays shift the offsets of the following
_rltd_global_ro members, thus breaking the GLIBC_PRIVATE ABI.

Obviously, this change is itself an internal ABI break, but at least
it will avoid further ABI breaks going forward.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/s390/dl-procinfo.c')
-rw-r--r--sysdeps/s390/dl-procinfo.c64
1 files changed, 4 insertions, 60 deletions
diff --git a/sysdeps/s390/dl-procinfo.c b/sysdeps/s390/dl-procinfo.c
index f142221a17..88c955c12b 100644
--- a/sysdeps/s390/dl-procinfo.c
+++ b/sysdeps/s390/dl-procinfo.c
@@ -16,66 +16,10 @@
    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_s390_cap_flags
-#else
-PROCINFO_CLASS const char _dl_s390_cap_flags[23][9]
-#endif
-#ifndef PROCINFO_DECL
-= {
-     "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp", "edat", "etf3eh",
-     "highgprs", "te", "vx", "vxd", "vxe", "gs", "vxe2", "vxp", "sort", "dflt",
-     "vxp2", "nnpa", "pcimio", "sie"
-  }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
-
-#if !defined PROCINFO_DECL && defined SHARED
-  ._dl_s390_platforms
-#else
-PROCINFO_CLASS const char _dl_s390_platforms[11][7]
-#endif
-#ifndef PROCINFO_DECL
-= {
-    "g5", "z900", "z990", "z9-109", "z10", "z196", "zEC12", "z13", "z14", "z15",
-    "z16"
-  }
-#endif
-#if !defined SHARED || defined PROCINFO_DECL
-;
-#else
-,
-#endif
+/* The hwcap and platform strings are now in
+   sysdeps/s390/dl-procinfo-s390.c.  */
 
+/* Needed by sysdeps/unix/sysv/linux/dl-vdso-setup.c (as included from
+   sysdeps/generic/ldsodefs.h).  */
 #undef PROCINFO_DECL
 #undef PROCINFO_CLASS