File power10-support.patch of Package glibc.25132

From ae725e3f9cb4e1eb825ebe1d55241c98c2ea32f1 Mon Sep 17 00:00:00 2001
From: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Date: Mon, 15 Jun 2020 11:15:57 -0300
Subject: [PATCH] powerpc: Add new hwcap values

Linux commit ID ee988c11acf6f9464b7b44e9a091bf6afb3b3a49 reserved 2 new
bits in AT_HWCAP2:
 - PPC_FEATURE2_ARCH_3_1 indicates the availability of the POWER ISA
   3.1;
 - PPC_FEATURE2_MMA indicates the availability of the Matrix-Multiply
   Assist facility.
---
From d2ba3677da7a785556fcd708404d8e049b1c063b Mon Sep 17 00:00:00 2001
From: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Date: Wed, 24 Jun 2020 18:04:41 -0300
Subject: [PATCH] powerpc: Add support for POWER10

1. Add the directories to hold POWER10 files.

2. Add support to select POWER10 libraries based on AT_PLATFORM.

3. Let submachine=power10 be set automatically.
---
From f6add169c89bbdd139a2eb845686127ead5799cd Mon Sep 17 00:00:00 2001
From: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Date: Tue, 21 Jul 2020 18:01:39 -0300
Subject: [PATCH] powerpc: Fix POWER10 selection

Add a line that was missing from a previous commit.
Without increasing str, the null-byte is not validated, and
_dl_string_platform returns -1.

Fixes: d2ba3677da7a ("powerpc: Add support for POWER10")

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
---

Index: glibc-2.31/sysdeps/powerpc/bits/hwcap.h
===================================================================
--- glibc-2.31.orig/sysdeps/powerpc/bits/hwcap.h
+++ glibc-2.31/sysdeps/powerpc/bits/hwcap.h
@@ -74,3 +74,5 @@
 #define PPC_FEATURE2_SCV	   0x00100000 /* scv syscall.  */
 #define PPC_FEATURE2_HTM_NO_SUSPEND  0x00080000 /* TM without suspended
 						   state.  */
+#define PPC_FEATURE2_ARCH_3_1	   0x00040000 /* ISA 3.1.  */
+#define PPC_FEATURE2_MMA	   0x00020000 /* Matrix-Multiply Assist.  */
Index: glibc-2.31/sysdeps/powerpc/dl-procinfo.c
===================================================================
--- glibc-2.31.orig/sysdeps/powerpc/dl-procinfo.c
+++ glibc-2.31/sysdeps/powerpc/dl-procinfo.c
@@ -77,7 +77,7 @@ PROCINFO_CLASS const char _dl_powerpc_ca
     "", "", "", "",
     "", "", "", "",
     "", "", "", "",
-    "", "", "", "htm-no-suspend",
+    "", "mma", "arch_3_1", "htm-no-suspend",
     "scv", "darn", "ieee128", "arch_3_00",
     "htm-nosc", "vcrypto", "tar", "isel",
     "ebb", "dscr", "htm", "arch_2_07",
Index: glibc-2.31/sysdeps/powerpc/dl-procinfo.h
===================================================================
--- glibc-2.31.orig/sysdeps/powerpc/dl-procinfo.h
+++ glibc-2.31/sysdeps/powerpc/dl-procinfo.h
@@ -37,7 +37,7 @@
 #define HWCAP_IMPORTANT		(PPC_FEATURE_HAS_ALTIVEC \
 				+ PPC_FEATURE_HAS_DFP)
 
-#define _DL_PLATFORMS_COUNT	15
+#define _DL_PLATFORMS_COUNT	16
 
 #define _DL_FIRST_PLATFORM	32
 /* Mask to filter out platforms.  */
@@ -60,6 +60,7 @@
 #define PPC_PLATFORM_PPC476		12
 #define PPC_PLATFORM_POWER8		13
 #define PPC_PLATFORM_POWER9		14
+#define PPC_PLATFORM_POWER10		15
 
 static inline const char *
 __attribute__ ((unused))
@@ -91,6 +92,15 @@ _dl_string_platform (const char *str)
       str += 5;
       switch (*str)
 	{
+	case '1':
+	  if (str[1] == '0')
+	    {
+	      ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER10;
+	      str++;
+	    }
+	  else
+	    return -1;
+	  break;
 	case '4':
 	  ret = _DL_FIRST_PLATFORM + PPC_PLATFORM_POWER4;
 	  break;
openSUSE Build Service is sponsored by