Compare commits
1 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
|
|
a4630a2beb |
523
0001-Bug-503241-s390x-Support-z17-changes-to-the-NNPA-ins.patch
Normal file
523
0001-Bug-503241-s390x-Support-z17-changes-to-the-NNPA-ins.patch
Normal file
@@ -0,0 +1,523 @@
|
||||
From 24b634e8ce04de70d4aa6c61a12149df223f9c68 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Arnez <arnez@linux.ibm.com>
|
||||
Date: Wed, 25 Jun 2025 16:35:04 +0200
|
||||
Subject: [PATCH] Bug 503241 - s390x: Support z17 changes to the NNPA
|
||||
instruction
|
||||
|
||||
This adds support for the NNPA enhancements that are implemented with z17.
|
||||
---
|
||||
coregrind/m_extension/extension-s390x.c | 346 ++++++++++++++----------
|
||||
1 file changed, 207 insertions(+), 139 deletions(-)
|
||||
|
||||
diff --git a/coregrind/m_extension/extension-s390x.c b/coregrind/m_extension/extension-s390x.c
|
||||
index 85b99ad08..98b825d9b 100644
|
||||
--- a/coregrind/m_extension/extension-s390x.c
|
||||
+++ b/coregrind/m_extension/extension-s390x.c
|
||||
@@ -301,11 +301,17 @@ typedef enum {
|
||||
S390_NNPA_MAX = 0x15,
|
||||
S390_NNPA_LOG = 0x20,
|
||||
S390_NNPA_EXP = 0x21,
|
||||
+ S390_NNPA_SQRT = 0x22,
|
||||
+ S390_NNPA_INVSQRT = 0x23,
|
||||
S390_NNPA_RELU = 0x31,
|
||||
S390_NNPA_TANH = 0x32,
|
||||
S390_NNPA_SIGMOID = 0x33,
|
||||
S390_NNPA_SOFTMAX = 0x34,
|
||||
+ S390_NNPA_GELU = 0x35,
|
||||
S390_NNPA_BATCHNORM = 0x40,
|
||||
+ S390_NNPA_MOMENTS = 0x41,
|
||||
+ S390_NNPA_LAYERNORM = 0x42,
|
||||
+ S390_NNPA_NORM = 0x43,
|
||||
S390_NNPA_MAXPOOL2D = 0x50,
|
||||
S390_NNPA_AVGPOOL2D = 0x51,
|
||||
S390_NNPA_LSTMACT = 0x60,
|
||||
@@ -313,6 +319,9 @@ typedef enum {
|
||||
S390_NNPA_CONVOLUTION = 0x70,
|
||||
S390_NNPA_MATMUL_OP = 0x71,
|
||||
S390_NNPA_MATMUL_OP_BCAST23 = 0x72,
|
||||
+ S390_NNPA_MATMUL_OP_BCAST1 = 0x73,
|
||||
+ S390_NNPA_TRANSFORM = 0xf0,
|
||||
+ S390_NNPA_REDUCE = 0xf1,
|
||||
} s390_nnpa_function_t;
|
||||
|
||||
/* Suported NNPA functions */
|
||||
@@ -321,30 +330,51 @@ static const ULong NNPA_functions[] = {
|
||||
S390_SETBIT(S390_NNPA_SUB) | S390_SETBIT(S390_NNPA_MUL) |
|
||||
S390_SETBIT(S390_NNPA_DIV) | S390_SETBIT(S390_NNPA_MIN) |
|
||||
S390_SETBIT(S390_NNPA_MAX) | S390_SETBIT(S390_NNPA_LOG) |
|
||||
- S390_SETBIT(S390_NNPA_EXP) | S390_SETBIT(S390_NNPA_RELU) |
|
||||
+ S390_SETBIT(S390_NNPA_EXP) | S390_SETBIT(S390_NNPA_SQRT) |
|
||||
+ S390_SETBIT(S390_NNPA_INVSQRT) | S390_SETBIT(S390_NNPA_RELU) |
|
||||
S390_SETBIT(S390_NNPA_TANH) | S390_SETBIT(S390_NNPA_SIGMOID) |
|
||||
- S390_SETBIT(S390_NNPA_SOFTMAX)),
|
||||
- (S390_SETBIT(S390_NNPA_BATCHNORM) | S390_SETBIT(S390_NNPA_MAXPOOL2D) |
|
||||
- S390_SETBIT(S390_NNPA_AVGPOOL2D) | S390_SETBIT(S390_NNPA_LSTMACT) |
|
||||
- S390_SETBIT(S390_NNPA_GRUACT) | S390_SETBIT(S390_NNPA_CONVOLUTION) |
|
||||
- S390_SETBIT(S390_NNPA_MATMUL_OP) |
|
||||
- S390_SETBIT(S390_NNPA_MATMUL_OP_BCAST23)),
|
||||
+ S390_SETBIT(S390_NNPA_SOFTMAX) | S390_SETBIT(S390_NNPA_GELU)),
|
||||
+ (S390_SETBIT(S390_NNPA_BATCHNORM) | S390_SETBIT(S390_NNPA_MOMENTS) |
|
||||
+ S390_SETBIT(S390_NNPA_LAYERNORM) | S390_SETBIT(S390_NNPA_NORM) |
|
||||
+ S390_SETBIT(S390_NNPA_MAXPOOL2D) | S390_SETBIT(S390_NNPA_AVGPOOL2D) |
|
||||
+ S390_SETBIT(S390_NNPA_LSTMACT) | S390_SETBIT(S390_NNPA_GRUACT) |
|
||||
+ S390_SETBIT(S390_NNPA_CONVOLUTION) | S390_SETBIT(S390_NNPA_MATMUL_OP) |
|
||||
+ S390_SETBIT(S390_NNPA_MATMUL_OP_BCAST23) |
|
||||
+ S390_SETBIT(S390_NNPA_MATMUL_OP_BCAST1)),
|
||||
+ 0,
|
||||
+ (S390_SETBIT(S390_NNPA_TRANSFORM) | S390_SETBIT(S390_NNPA_REDUCE)),
|
||||
};
|
||||
|
||||
/* Supported parameter block formats */
|
||||
static const ULong NNPA_ipbf[] = {
|
||||
- (S390_SETBIT(0)),
|
||||
+ (S390_SETBIT(0) | S390_SETBIT(1)),
|
||||
};
|
||||
|
||||
/* Supported data types and data layout formats */
|
||||
+enum {
|
||||
+ S390_NNPA_TYPE_1 = 0, // data type 1 (16 bit)
|
||||
+ S390_NNPA_TYPE_BFP32 = 6,
|
||||
+ S390_NNPA_TYPE_INT8 = 8,
|
||||
+ S390_NNPA_TYPE_INT32 = 10,
|
||||
+};
|
||||
+
|
||||
+enum {
|
||||
+ S390_NNPA_4D_FEATURE_TENSOR = 0,
|
||||
+ S390_NNPA_4D_KERNEL_TENSOR = 1,
|
||||
+ S390_NNPA_4D_WEIGHTS_TENSOR = 2,
|
||||
+ S390_NNPA_4D_GENERIC_TENSOR = 31,
|
||||
+};
|
||||
+
|
||||
static const ULong NNPA_dtypes_layouts[] = {
|
||||
/* Data types */
|
||||
- (S390_SETBIT(0) | // data type 1 (16 bit)
|
||||
+ (S390_SETBIT(S390_NNPA_TYPE_1) | S390_SETBIT(S390_NNPA_TYPE_BFP32) |
|
||||
+ S390_SETBIT(S390_NNPA_TYPE_INT8) | S390_SETBIT(S390_NNPA_TYPE_INT32) |
|
||||
|
||||
/* Data layout formats */
|
||||
- S390_SETBIT(32 + 0) | // 4D-feature tensor
|
||||
- S390_SETBIT(32 + 1) // 4D-kernel tensor
|
||||
- ),
|
||||
+ S390_SETBIT(32 + S390_NNPA_4D_FEATURE_TENSOR) |
|
||||
+ S390_SETBIT(32 + S390_NNPA_4D_KERNEL_TENSOR) |
|
||||
+ S390_SETBIT(32 + S390_NNPA_4D_WEIGHTS_TENSOR) |
|
||||
+ S390_SETBIT(32 + S390_NNPA_4D_GENERIC_TENSOR)),
|
||||
};
|
||||
|
||||
static const ULong NNPA_conversions[] = {
|
||||
@@ -360,10 +390,15 @@ struct s390_NNPA_parms_qaf {
|
||||
UInt mdis;
|
||||
ULong mts;
|
||||
ULong conversions;
|
||||
- ULong reserved2[22];
|
||||
+ ULong reserved2;
|
||||
+ UInt mdnis[4];
|
||||
+ struct {
|
||||
+ ULong reserved[19];
|
||||
+ } reserved3;
|
||||
};
|
||||
|
||||
-struct s390_NNPA_tensor0 {
|
||||
+/* Tensor descriptor, common for all data-layout formats */
|
||||
+struct s390_NNPA_tensor {
|
||||
UChar layout;
|
||||
UChar dtype;
|
||||
UShort reserved1;
|
||||
@@ -372,21 +407,21 @@ struct s390_NNPA_tensor0 {
|
||||
ULong address;
|
||||
};
|
||||
|
||||
-struct s390_NNPA_parms0 {
|
||||
- ULong pbvn : 16;
|
||||
- ULong mvn : 8;
|
||||
- ULong ribm : 24;
|
||||
- ULong reserved0 : 15;
|
||||
- ULong cf : 1;
|
||||
- ULong reserved1[6];
|
||||
- ULong save_area_address;
|
||||
- struct s390_NNPA_tensor0 out[2];
|
||||
- struct s390_NNPA_tensor0 reserved2[2];
|
||||
- struct s390_NNPA_tensor0 in[3];
|
||||
- ULong reserved3[12];
|
||||
- UInt param[5];
|
||||
- UInt reserved4;
|
||||
- ULong reserved5[13];
|
||||
+/* Parameter block format 0 or 1 */
|
||||
+struct s390_NNPA_parms {
|
||||
+ ULong pbvn : 16;
|
||||
+ ULong mvn : 8;
|
||||
+ ULong ribm : 24;
|
||||
+ ULong reserved0 : 15;
|
||||
+ ULong cf : 1;
|
||||
+ ULong reserved1[6];
|
||||
+ ULong save_area_address;
|
||||
+ struct s390_NNPA_tensor out[2];
|
||||
+ struct s390_NNPA_tensor reserved2[2];
|
||||
+ struct s390_NNPA_tensor in[3];
|
||||
+ ULong reserved3[12];
|
||||
+ UInt param[16];
|
||||
+ ULong reserved4[8];
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -418,135 +453,145 @@ static const char* const s390_NNPA_errmsg_access[s390_NNPA_message_n] = {
|
||||
|
||||
struct s390_NNPA_mem_dimensions {
|
||||
UChar layout;
|
||||
- ULong dim[5]; // total dimensions
|
||||
- ULong used[4]; // used dimensions, without padding
|
||||
- ULong step[5];
|
||||
- ULong last_dim4_size;
|
||||
+ ULong dim[4];
|
||||
+ ULong total_size;
|
||||
+ ULong used_sticks; // occupied sticks per next-higher dimension
|
||||
+ ULong stick_fill;
|
||||
+ ULong last_stick_fill;
|
||||
};
|
||||
|
||||
-/* Determine the 5 dimensions used to represent the tensor data in memory */
|
||||
+/* Determine the dimensions used to represent the tensor data in memory */
|
||||
static enum ExtensionError
|
||||
-NNPA_tensor0_size(const struct s390_NNPA_tensor0* t,
|
||||
- UInt msg_idx,
|
||||
- struct s390_NNPA_mem_dimensions* out_md)
|
||||
+NNPA_tensor_size(const struct s390_NNPA_tensor* t,
|
||||
+ UInt msg_idx,
|
||||
+ struct s390_NNPA_mem_dimensions* out_md)
|
||||
{
|
||||
struct s390_NNPA_mem_dimensions md;
|
||||
ULong elem_size;
|
||||
+ ULong eps;
|
||||
|
||||
- md.layout = t->layout;
|
||||
- if (t->dtype == 0)
|
||||
+ switch (t->dtype) {
|
||||
+ case S390_NNPA_TYPE_INT8:
|
||||
+ elem_size = 1;
|
||||
+ break;
|
||||
+ case S390_NNPA_TYPE_1:
|
||||
elem_size = 2;
|
||||
- else
|
||||
+ break;
|
||||
+ case S390_NNPA_TYPE_BFP32:
|
||||
+ case S390_NNPA_TYPE_INT32:
|
||||
+ elem_size = 4;
|
||||
+ break;
|
||||
+ default:
|
||||
return INSN_ERR(s390_NNPA_errmsg_dtype[msg_idx]);
|
||||
+ }
|
||||
+ eps = 128 / elem_size;
|
||||
|
||||
+ md.layout = t->layout;
|
||||
switch (t->layout) {
|
||||
- case 0: // 4D-feature tensor
|
||||
- md.dim[0] = md.used[0] = t->dim4;
|
||||
- md.dim[1] = md.used[1] = (t->dim1 + 63) / 64;
|
||||
- md.dim[2] = md.used[2] = t->dim3;
|
||||
- md.dim[3] = (t->dim2 + 31) / 32 * 32;
|
||||
- md.used[3] = t->dim2;
|
||||
- md.dim[4] = 64;
|
||||
- md.last_dim4_size = elem_size * (t->dim1 % 64);
|
||||
+ case S390_NNPA_4D_FEATURE_TENSOR:
|
||||
+ md.dim[0] = t->dim4;
|
||||
+ md.dim[1] = (t->dim1 + eps - 1) / eps;
|
||||
+ md.used_sticks = t->dim2;
|
||||
+ goto common_tensor_dimensions;
|
||||
+ case S390_NNPA_4D_KERNEL_TENSOR:
|
||||
+ md.dim[0] = (t->dim1 + eps - 1) / eps;
|
||||
+ md.dim[1] = t->dim4;
|
||||
+ md.used_sticks = t->dim2;
|
||||
+ goto common_tensor_dimensions;
|
||||
+ case S390_NNPA_4D_WEIGHTS_TENSOR:
|
||||
+ elem_size *= 2;
|
||||
+ eps /= 2;
|
||||
+ md.dim[0] = t->dim4;
|
||||
+ md.dim[1] = (t->dim1 + eps - 1) / eps;
|
||||
+ md.used_sticks = (t->dim2 + 1) / 2;
|
||||
+ common_tensor_dimensions:
|
||||
+ md.dim[2] = t->dim3;
|
||||
+ md.dim[3] = (md.used_sticks + 31) / 32 * 32;
|
||||
+ md.stick_fill = elem_size * (t->dim1 >= eps ? eps : t->dim1);
|
||||
+ md.last_stick_fill = elem_size * ((t->dim1 - 1) % eps + 1);
|
||||
break;
|
||||
- case 1: // 4D-kernel tensor
|
||||
- md.dim[0] = md.used[0] = (t->dim1 + 63) / 64;
|
||||
- md.dim[1] = md.used[1] = t->dim4;
|
||||
- md.dim[2] = md.used[2] = t->dim3;
|
||||
- md.dim[3] = (t->dim2 + 31) / 32 * 32;
|
||||
- md.used[3] = t->dim2;
|
||||
- md.dim[4] = 64;
|
||||
- md.last_dim4_size = elem_size * (t->dim1 % 64);
|
||||
+ case S390_NNPA_4D_GENERIC_TENSOR:
|
||||
+ md.dim[0] = t->dim4;
|
||||
+ md.dim[1] = t->dim3;
|
||||
+ md.dim[2] = t->dim2;
|
||||
+ md.dim[3] = t->dim1;
|
||||
+ eps = 1;
|
||||
break;
|
||||
default:
|
||||
return INSN_ERR(s390_NNPA_errmsg_layout[msg_idx]);
|
||||
}
|
||||
- md.step[4] = elem_size * md.dim[4];
|
||||
- md.step[3] = md.step[4] * md.dim[3];
|
||||
- md.step[2] = md.step[3] * md.dim[2];
|
||||
- md.step[1] = md.step[2] * md.dim[1];
|
||||
- md.step[0] = md.step[1] * md.dim[0]; // total size
|
||||
- *out_md = md;
|
||||
+ md.total_size =
|
||||
+ elem_size * eps * md.dim[3] * md.dim[2] * md.dim[1] * md.dim[0];
|
||||
+ *out_md = md;
|
||||
return ExtErr_OK;
|
||||
}
|
||||
|
||||
-/* Determine the size of the non-pad elements in the last dimension */
|
||||
-static ULong NNPA_mem_dim4_size(const struct s390_NNPA_mem_dimensions* md,
|
||||
- ULong d0,
|
||||
- ULong d1)
|
||||
-{
|
||||
- switch (md->layout) {
|
||||
- case 0: // 4D-feature tensor
|
||||
- return d1 + 1 == md->dim[1] ? md->last_dim4_size : md->step[4];
|
||||
- case 1: // 4D-kernel tensor
|
||||
- return d0 + 1 == md->dim[0] ? md->last_dim4_size : md->step[4];
|
||||
- }
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-static enum ExtensionError NNPA_pre_read_tensor0(
|
||||
- ThreadState* tst, UInt msg_idx, const struct s390_NNPA_tensor0* t)
|
||||
+/* Track a tensor's memory regions with PRE_MEM_READ or POST_MEM_WRITE */
|
||||
+static enum ExtensionError NNPA_track_tensor(ThreadState* tst,
|
||||
+ UInt msg_idx,
|
||||
+ const struct s390_NNPA_tensor* t,
|
||||
+ Bool do_write)
|
||||
{
|
||||
struct s390_NNPA_mem_dimensions md;
|
||||
enum ExtensionError ret;
|
||||
+ ULong addr = t->address;
|
||||
|
||||
- ret = NNPA_tensor0_size(t, msg_idx, &md);
|
||||
+ ret = NNPA_tensor_size(t, msg_idx, &md);
|
||||
if (ret != ExtErr_OK)
|
||||
return ret;
|
||||
|
||||
- for (ULong d0 = 0; d0 < md.used[0]; d0++) {
|
||||
- for (ULong d1 = 0; d1 < md.used[1]; d1++) {
|
||||
- for (ULong d2 = 0; d2 < md.used[2]; d2++) {
|
||||
- for (ULong d3 = 0; d3 < md.used[3]; d3++) {
|
||||
- ULong addr = t->address + d0 * md.step[1] + d1 * md.step[2] +
|
||||
- d2 * md.step[3] + d3 * md.step[4];
|
||||
- ULong len = NNPA_mem_dim4_size(&md, d0, d1);
|
||||
- PRE_MEM_READ(tst, s390_NNPA_errmsg_access[msg_idx], addr, len);
|
||||
+ switch (md.layout) {
|
||||
+ case S390_NNPA_4D_FEATURE_TENSOR:
|
||||
+ case S390_NNPA_4D_KERNEL_TENSOR:
|
||||
+ case S390_NNPA_4D_WEIGHTS_TENSOR:
|
||||
+ for (ULong d0 = 0; d0 < md.dim[0]; d0++) {
|
||||
+ for (ULong d1 = 0; d1 < md.dim[1]; d1++) {
|
||||
+ ULong len;
|
||||
+ switch (md.layout) {
|
||||
+ case S390_NNPA_4D_FEATURE_TENSOR:
|
||||
+ case S390_NNPA_4D_WEIGHTS_TENSOR:
|
||||
+ len = d1 + 1 == md.dim[1] ? md.last_stick_fill : md.stick_fill;
|
||||
+ break;
|
||||
+ case S390_NNPA_4D_KERNEL_TENSOR:
|
||||
+ len = d0 + 1 == md.dim[0] ? md.last_stick_fill : md.stick_fill;
|
||||
+ break;
|
||||
}
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- return ExtErr_OK;
|
||||
-}
|
||||
-
|
||||
-static UWord NNPA_pre_write_tensor0(ThreadState* tst,
|
||||
- UInt msg_idx,
|
||||
- const struct s390_NNPA_tensor0* t)
|
||||
-{
|
||||
- struct s390_NNPA_mem_dimensions md;
|
||||
- enum ExtensionError ret;
|
||||
-
|
||||
- ret = NNPA_tensor0_size(t, msg_idx, &md);
|
||||
- if (ret != ExtErr_OK)
|
||||
- return ret;
|
||||
-
|
||||
- PRE_MEM_WRITE(tst, "NNPA(out_tensor)", t->address, md.step[0]);
|
||||
- return ExtErr_OK;
|
||||
-}
|
||||
-
|
||||
-static void NNPA_post_write_tensor0(ThreadState* tst,
|
||||
- UInt msg_idx,
|
||||
- const struct s390_NNPA_tensor0* t)
|
||||
-{
|
||||
- struct s390_NNPA_mem_dimensions md;
|
||||
- enum ExtensionError ret;
|
||||
-
|
||||
- ret = NNPA_tensor0_size(t, msg_idx, &md);
|
||||
- if (ret != ExtErr_OK)
|
||||
- return;
|
||||
-
|
||||
- for (ULong d0 = 0; d0 < md.used[0]; d0++) {
|
||||
- for (ULong d1 = 0; d1 < md.used[1]; d1++) {
|
||||
- for (ULong d2 = 0; d2 < md.used[2]; d2++) {
|
||||
- for (ULong d3 = 0; d3 < md.used[3]; d3++) {
|
||||
- ULong addr = t->address + d0 * md.step[1] + d1 * md.step[2] +
|
||||
- d2 * md.step[3] + d3 * md.step[4];
|
||||
- ULong len = NNPA_mem_dim4_size(&md, d0, d1);
|
||||
- POST_MEM_WRITE(tst, addr, len);
|
||||
+ for (ULong d2 = 0; d2 < md.dim[2]; d2++) {
|
||||
+ for (ULong d3 = 0; d3 < md.used_sticks; d3++) {
|
||||
+ if (md.layout == S390_NNPA_4D_WEIGHTS_TENSOR &&
|
||||
+ d3 == md.used_sticks - 1 && t->dim2 % 2 != 0) {
|
||||
+ // even elements only
|
||||
+ for (ULong i = 0; i < len - 1; i += 2) {
|
||||
+ if (do_write) {
|
||||
+ POST_MEM_WRITE(tst, addr + i, 1);
|
||||
+ } else {
|
||||
+ PRE_MEM_READ(tst, s390_NNPA_errmsg_access[msg_idx],
|
||||
+ addr + i, 1);
|
||||
+ }
|
||||
+ }
|
||||
+ } else if (do_write) {
|
||||
+ POST_MEM_WRITE(tst, addr, len);
|
||||
+ } else {
|
||||
+ PRE_MEM_READ(tst, s390_NNPA_errmsg_access[msg_idx], addr,
|
||||
+ len);
|
||||
+ }
|
||||
+ addr += 128;
|
||||
+ }
|
||||
+ addr += 128 * (md.dim[3] - md.used_sticks);
|
||||
}
|
||||
}
|
||||
}
|
||||
+ break;
|
||||
+ case S390_NNPA_4D_GENERIC_TENSOR:
|
||||
+ if (do_write) {
|
||||
+ POST_MEM_WRITE(tst, t->address, md.total_size);
|
||||
+ } else {
|
||||
+ PRE_MEM_READ(tst, s390_NNPA_errmsg_access[msg_idx], t->address,
|
||||
+ md.total_size);
|
||||
+ }
|
||||
+ break;
|
||||
}
|
||||
+ return ExtErr_OK;
|
||||
}
|
||||
|
||||
static enum ExtensionError do_extension_NNPA(ThreadState* tst, ULong variant)
|
||||
@@ -571,16 +616,21 @@ static enum ExtensionError do_extension_NNPA(ThreadState* tst, ULong variant)
|
||||
NNPA_dtypes_layouts, sizeof(NNPA_dtypes_layouts));
|
||||
s390_filter_functions(&parms->conversions, sizeof(ULong),
|
||||
NNPA_conversions, sizeof(NNPA_conversions));
|
||||
+ // Clear reserved fields
|
||||
+ parms->reserved1 = 0;
|
||||
+ parms->reserved2 = 0;
|
||||
+ parms->reserved3 = (__typeof__(parms->reserved3)){0};
|
||||
} else {
|
||||
- struct s390_NNPA_parms0* parms = (void*)parms_addr;
|
||||
- const struct s390_NNPA_parms0 orig_parms = *parms;
|
||||
- ULong save_area_size = 0;
|
||||
- UInt in_tensors;
|
||||
- UInt out_tensors;
|
||||
+ struct s390_NNPA_parms* parms = (void*)parms_addr;
|
||||
+ const struct s390_NNPA_parms orig_parms = *parms;
|
||||
+ ULong save_area_size = 0;
|
||||
+ UInt in_tensors;
|
||||
+ UInt out_tensors;
|
||||
+ enum ExtensionError retval;
|
||||
|
||||
parms_len = 4096;
|
||||
PRE_MEM_READ(tst, "NNPA(parms)", parms_addr,
|
||||
- sizeof(struct s390_NNPA_parms0));
|
||||
+ sizeof(struct s390_NNPA_parms));
|
||||
if (parms->cf) {
|
||||
PRE_MEM_READ(tst, "NNPA(parms.csb)", parms_addr + 512,
|
||||
parms_len - 512);
|
||||
@@ -594,28 +644,39 @@ static enum ExtensionError do_extension_NNPA(ThreadState* tst, ULong variant)
|
||||
case S390_NNPA_DIV:
|
||||
case S390_NNPA_MIN:
|
||||
case S390_NNPA_MAX:
|
||||
+ case S390_NNPA_NORM:
|
||||
in_tensors = 2;
|
||||
out_tensors = 1;
|
||||
break;
|
||||
case S390_NNPA_LOG:
|
||||
case S390_NNPA_EXP:
|
||||
+ case S390_NNPA_SQRT:
|
||||
+ case S390_NNPA_INVSQRT:
|
||||
case S390_NNPA_RELU:
|
||||
case S390_NNPA_TANH:
|
||||
case S390_NNPA_SIGMOID:
|
||||
+ case S390_NNPA_GELU:
|
||||
in_tensors = 1;
|
||||
out_tensors = 1;
|
||||
break;
|
||||
case S390_NNPA_SOFTMAX:
|
||||
+ case S390_NNPA_REDUCE:
|
||||
in_tensors = 1;
|
||||
out_tensors = 1;
|
||||
save_area_size = 8192;
|
||||
break;
|
||||
case S390_NNPA_BATCHNORM:
|
||||
+ case S390_NNPA_LAYERNORM:
|
||||
in_tensors = 3;
|
||||
out_tensors = 1;
|
||||
break;
|
||||
+ case S390_NNPA_MOMENTS:
|
||||
+ in_tensors = 1;
|
||||
+ out_tensors = 2;
|
||||
+ break;
|
||||
case S390_NNPA_MAXPOOL2D:
|
||||
case S390_NNPA_AVGPOOL2D:
|
||||
+ case S390_NNPA_TRANSFORM:
|
||||
in_tensors = 1;
|
||||
out_tensors = 1;
|
||||
break;
|
||||
@@ -627,6 +688,7 @@ static enum ExtensionError do_extension_NNPA(ThreadState* tst, ULong variant)
|
||||
case S390_NNPA_CONVOLUTION:
|
||||
case S390_NNPA_MATMUL_OP:
|
||||
case S390_NNPA_MATMUL_OP_BCAST23:
|
||||
+ case S390_NNPA_MATMUL_OP_BCAST1:
|
||||
in_tensors = 3;
|
||||
out_tensors = 1;
|
||||
break;
|
||||
@@ -635,16 +697,20 @@ static enum ExtensionError do_extension_NNPA(ThreadState* tst, ULong variant)
|
||||
}
|
||||
|
||||
for (UInt i = 0; i < in_tensors; i++) {
|
||||
- enum ExtensionError retval =
|
||||
- NNPA_pre_read_tensor0(tst, s390_NNPA_message_in + i, &parms->in[i]);
|
||||
+ retval = NNPA_track_tensor(tst, s390_NNPA_message_in + i,
|
||||
+ &parms->in[i], False);
|
||||
if (retval != ExtErr_OK)
|
||||
return retval;
|
||||
}
|
||||
for (UInt i = 0; i < out_tensors; i++) {
|
||||
- enum ExtensionError retval = NNPA_pre_write_tensor0(
|
||||
- tst, s390_NNPA_message_out + i, &parms->out[i]);
|
||||
+ UInt msg_idx = s390_NNPA_message_out + i;
|
||||
+ struct s390_NNPA_mem_dimensions md;
|
||||
+
|
||||
+ retval = NNPA_tensor_size(&parms->out[i], msg_idx, &md);
|
||||
if (retval != ExtErr_OK)
|
||||
return retval;
|
||||
+ PRE_MEM_WRITE(tst, s390_NNPA_errmsg_access[msg_idx],
|
||||
+ parms->out[i].address, md.total_size);
|
||||
}
|
||||
if (save_area_size != 0) {
|
||||
PRE_MEM_WRITE(tst, "NNPA(save_area)", parms->save_area_address,
|
||||
@@ -653,8 +719,10 @@ static enum ExtensionError do_extension_NNPA(ThreadState* tst, ULong variant)
|
||||
cc = do_NNPA_insn(&gpr0, parms_addr);
|
||||
if (cc == 0) {
|
||||
for (UInt i = 0; i < out_tensors; i++) {
|
||||
- NNPA_post_write_tensor0(tst, s390_NNPA_message_out + i,
|
||||
- &orig_parms.out[i]);
|
||||
+ retval = NNPA_track_tensor(tst, s390_NNPA_message_out + i,
|
||||
+ &orig_parms.out[i], True);
|
||||
+ if (retval != ExtErr_OK)
|
||||
+ return retval;
|
||||
}
|
||||
}
|
||||
}
|
||||
--
|
||||
2.51.0
|
||||
|
||||
BIN
valgrind-3.25.1.tar.bz2
LFS
Normal file
BIN
valgrind-3.25.1.tar.bz2
LFS
Normal file
Binary file not shown.
11
valgrind-3.25.1.tar.bz2.asc
Normal file
11
valgrind-3.25.1.tar.bz2.asc
Normal file
@@ -0,0 +1,11 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQEzBAABCAAdFiEEEnaKlnlZkBB6DS/f/FfjzKzZmngFAmgsZEoACgkQ/FfjzKzZ
|
||||
mnh+Pwf/UuzK/s83KgJuQFDPhc6vwQd4KYpeMWnXwzBRQgko72s9c3mmnl4UgK0t
|
||||
JkdsuRqTCYpOo32G5Yr2mr7ukZFW0KSVv+jOF/D9Lg+IxZQ4Z20iQQAZNGwxUXi9
|
||||
I8OA+UYr52lCl0hjOubYLTUydmWPzqzuECqru/7JZeDZxs2z1YhDUIaA/g9E73yn
|
||||
mMTPJYUA0J/SsNn1Qo0YxuFZSQo4761Wjjn4CmosGf9w1oZiGMkB/dH3ANtdglhB
|
||||
FXW5ndpOiytdIzxHB20Wez/qcWBX52nrjzh9UFiyAnDYFDa1usMxLd7XOaVYqusW
|
||||
Ky9j2UvFQShhPiKgqlBcjiqF3hNuMg==
|
||||
=7GVO
|
||||
-----END PGP SIGNATURE-----
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8d54c717029106f1644aadaf802ab9692e53d93dd015cbd19e74190eba616bd7
|
||||
size 17182495
|
||||
@@ -1,7 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iHUEABYIAB0WIQQo/0swqI1VI6fiy6IDdqFcb/wRzQUCaPvKQAAKCRADdqFcb/wR
|
||||
zeW1AQCqKO/fITPNOn4KWNiw7fj/IKW6UTzxYXvWh3De+tCIlAEA67r3ehM0EbKH
|
||||
W2KsI+9/FkqWdtk4aPDMyGBgtNW4VQM=
|
||||
=kjIj
|
||||
-----END PGP SIGNATURE-----
|
||||
@@ -1,44 +1,3 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Nov 17 17:10:26 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 3.26.0:
|
||||
* Upgrade to the GNU General Public License version 3.
|
||||
* Control building documentation. When using make dist set the
|
||||
Makefile BUILD_DOCS to none, all or html. none, does not build any
|
||||
documentation. all, builds all documentation. html, builds HTML
|
||||
docs but skips building PDFs. See also README_DEVELOPERS.
|
||||
* New VEX API function LibVEX_set_VexControl
|
||||
* The deprecated IROps: Iop_Clz32/64 and Iop_Ctz32/64 have been removed
|
||||
* The Linux Test Project (LTP) integration has been updated to
|
||||
v20250930. The test output has been made compatible with bunsen.
|
||||
Various issues with the linux syscall wrappers have been fixed.
|
||||
* --modify-fds=yes has been added. It acts like --modify-fds=high (the
|
||||
highest available file descriptor is returned first) except when
|
||||
when the lowers stdin/stdout/stderr (file descriptors 0, 1, 2) are
|
||||
available. With --modify-fds=yes 0, 1 or 2 are always returned first
|
||||
when still available before higher file descriptor numbers are.
|
||||
* With --xml=yes log output protocol 6 is now always used (unlike
|
||||
protocol 5 which was only used with--track-fds). The main difference
|
||||
is that the xml output now contains error summaries. See also
|
||||
xml-output-protocol6.txt.
|
||||
* Add "bad" option for --track-fds. When --track-fds=bad is specified,
|
||||
do not produce errors about unclosed file descriptors at program
|
||||
exit. Only produce errors for bad file descriptor usage, either
|
||||
double close or use of file descriptor that is (no longer) valid.
|
||||
* vgdb will now handle the qExecAndArgs packet.
|
||||
* DWARF inlined subroutine handling has been rewritten to work cross
|
||||
compile units. This should get rid of backtraces with
|
||||
"UnknownInlinedFun".
|
||||
- drop 0001-Bug-503241-s390x-Support-z17-changes-to-the-NNPA-ins.patch
|
||||
(upstream)
|
||||
- updated keyring from https://www.klomp.org/mark/gnupg-pub.txt
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 22 09:01:09 UTC 2025 - Andreas Schwab <schwab@suse.de>
|
||||
|
||||
- Enable build on riscv64
|
||||
- Fix file list
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 19 14:11:07 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
|
||||
606
valgrind.keyring
606
valgrind.keyring
@@ -1,30 +1,3 @@
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mDMEaHQWvBYJKwYBBAHaRw8BAQdA56MyjCdsupmDDWzF+1byosQYwO7SL1xe8+az
|
||||
n4Vvty+0Hk1hcmsgSi4gV2llbGFhcmQgPG1qd0BnbnUub3JnPoiTBBMWCgA7FiEE
|
||||
KP9LMKiNVSOn4suiA3ahXG/8Ec0FAmh0F94CGwMFCwkIBwICIgIGFQoJCAsCBBYC
|
||||
AwECHgcCF4AACgkQA3ahXG/8Ec30+QD/c6Lm9Od/FG+LpWPVLCBT4YmyktsQZ4xM
|
||||
nFD+n4H33L8A/2P4xacRzmAiMzeFP+3B+YxrDRLvHnnsI6B0ckP3rxAGtCFNYXJr
|
||||
IEouIFdpZWxhYXJkIDxtYXJrQGtsb21wLm9yZz6IlgQTFgoAPgIbAwULCQgHAgIi
|
||||
AgYVCgkICwIEFgIDAQIeBwIXgBYhBCj/SzCojVUjp+LLogN2oVxv/BHNBQJodCQD
|
||||
AhkBAAoJEAN2oVxv/BHNNIkA/2bc9sJA9kOWDtbs687j6rIbBF2hoqKvmh2B1t6p
|
||||
taUbAQDhSUQJJiKHz7XwcYlUQUMPLtkm8QcDdlg5FMcGb2ZVCbQhTWFyayBKLiBX
|
||||
aWVsYWFyZCA8bWp3QHJlZGhhdC5jb20+iJMEExYKADsWIQQo/0swqI1VI6fiy6ID
|
||||
dqFcb/wRzQUCaHQXvQIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRAD
|
||||
dqFcb/wRzSYPAP4196kaDMdfRyTtB0oL/otYWr+NzI9Q9WV0EZeYYrhRdAEA8G40
|
||||
H/V3TU2mgd914aYm4X+CYQaGD0bba3iRUK933wi4OARodBa8EgorBgEEAZdVAQUB
|
||||
AQdA7FnysiTgAGXnd5bozNJ40DOV5k7OQgy8Y0YQo1tzg1cDAQgHiHgEGBYKACAW
|
||||
IQQo/0swqI1VI6fiy6IDdqFcb/wRzQUCaHQWvAIbDAAKCRADdqFcb/wRzZ9IAP0X
|
||||
PAaGTGemQj+B3j9dNghUk3ic2TSbnPVKpalCS0U3DwEAkqEP6jZ87xX4N9bG+wn2
|
||||
bdfaAc/4AW2h9fJQCIwO6Ai4MwRodBlfFgkrBgEEAdpHDwEBB0D6Er72E6wa1+By
|
||||
/I3Q5k7bVVS9k6Tw72q3gPr9bkPu7Ih4BBgWCgAgFiEEKP9LMKiNVSOn4suiA3ah
|
||||
XG/8Ec0FAmh0GV8CGyAACgkQA3ahXG/8Ec30eQD/SVAUX+LMkzcrp6gKNrAEUmkx
|
||||
YSU8Z8Ojfh+WG4ez0nkBAPX+WvJa9DrDaBDREaJmYlUP/mhpWd/SlnFyCEsj8RkJ
|
||||
=mv0n
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFxDPtIBEAC8xePaWvq5cDMBYtrpdmR20YX5xrDXUeHgueSVE9Mw8yCan2Cq
|
||||
@@ -38,483 +11,104 @@ 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
|
||||
=CjRQ
|
||||
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
|
||||
1tvZxQ==
|
||||
=DlFV
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
=JBTJ
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQGiBD8IdT4RBACKO4Hh3SeJ6zF8JgbHWwl0oQw5V2kbfwIvzooxlW4o6GB7tyVz
|
||||
XmvZFa0O/BoZT49KBAJSLZKCFnJqqNSjowolpW/4u3ZcmaZ+1KeTxWTMIdnqYGRD
|
||||
iJgYN3j+77T4qATeVmoqEBkvQ4NNv85cJeSi05xsz2tEGOC7u9EenMuHcwCgsIYO
|
||||
QBkROXEjbM50kmzngXIg5bMD/jkG2rBfdd7gjLOVxGkBTIZ5nEJkBd/K0vNJeD5X
|
||||
lfJgQTe9DXubNyRNRZdQY26UBVigkgw7LnOUF7La992H8OeUn6r3diOzaSnRpuzL
|
||||
pRV7pDYDVZ6I6kqBoFY05wZxCyhfx816/ucI5k/654XyS3xa9G0Ts5u7gyZzuO+E
|
||||
qQbqA/wNLSl+TiUjRdefsoIvKEJFL/HjPSlqUc/PByVDjnwUi8IombBM8cKBGOcj
|
||||
95Xe7apOXtf3zyr4F+pJx6Oz3yXTmjhoSYy6zi31p1dAAb+yaYKrQ2LQrfrB8/bm
|
||||
ZcAuYoqgFJZDoe8OQv9G7ZDAd9hXTFoT07MhR+QnJz33mQ/USoiYBCARCABYFiEE
|
||||
7osRg3+cNaZqWUtzxVhZCJWr9QwFAlxYMjY6HQFTdXBlcnNlZGVkIGJ5IDB4NDdD
|
||||
QzAzMzEwODFCOEJDNkQwRkQ0REEwODM3MDY2NUI1NzgxNkE2QQAKCRDFWFkIlav1
|
||||
DP5BAJ4jXPHgzCQUzlVTE6uRLBza3kqF/ACeIBeREbXLgyweiVCw0pUxBt6YftC0
|
||||
Hk1hcmsgV2llbGFhcmQgPG1hcmtAa2xvbXAub3JnPohGBBARAgAGBQI/knx1AAoJ
|
||||
EO/Lzf9h8FuMboMAn0zsxLhtA+2SUxMZqB51uWPJvvruAKCJa+YI+G32xHJBvEis
|
||||
GdQ+gk4sIYhGBBARAgAGBQI/niGZAAoJEG8ji8JP2loM6OoAnRJH3a8qCekXAlgD
|
||||
li+tTSuVXXipAJ42GYbs3ov7OK/SGr4xXGuKC7U/+YhGBBARAgAGBQJDNcwCAAoJ
|
||||
EMWvd0pYUQtaUwEAoKtJ/hWwawndH6wJqJBrre5XYoR/AJoCn7vDrhHIfQZmXlzv
|
||||
cxmeVBXJL4hGBBARAgAGBQJDOwrrAAoJEHMS86SBgrC0SFwAn1/3NFZjseR79tgy
|
||||
b8vQ+heEMiHqAKCXA79YfmnKf3UOg2vEhVb5XrHqt4hGBBARAgAGBQJHIecCAAoJ
|
||||
ED/eqnpP6wOhqcYAnjEAxREn6x7dTBGhjqbNPlnSxH2JAJ4p+t+NE3oF2zsJ86R6
|
||||
T+lQ+boffYhGBBIRAgAGBQI/j+2XAAoJEPKDUDyfAr54hOAAn03bg/OVRaLWUbBz
|
||||
3aeq90mPTDwSAKCS+Fiwj43ci86OqsUjTeu6ZHXG0YhGBBIRAgAGBQJAwHNIAAoJ
|
||||
EJJF5/16WIxif4EAoO2iVy7sN0F54dkYaHPaVLELGUFZAKDxMGa/p+zwjrnpHrYn
|
||||
olRdC9WyJYhGBBIRAgAGBQJAw1HNAAoJEKZJAleFDuzMkOMAniuLNOtsrYd4K69R
|
||||
ayTlW2pdap3WAJ9vqeWVjfcyS3Ga3NAPXiX9oO8DYYhGBBIRAgAGBQJBTXmgAAoJ
|
||||
EKWzoAR0XAFas98AmwSE4DTxbXkNJpe2Rc7SbSlC0//kAJ4oNQTeuvQp9vwEvy0Y
|
||||
8saqgcjNYIhGBBIRAgAGBQJBepW8AAoJEG4Dj17go4N3654AniwEZTwh90I8pixX
|
||||
WPL4nn73DSpKAKC6f3vlMpZ3L59QSMWBYQSvQOcTvIhGBBIRAgAGBQJDNgOdAAoJ
|
||||
EMzf5JsKCsknPVIAn02ARmpFeCpm164BE8x4LHxah2+gAJ4qcK0NOYf5cPpc+UA4
|
||||
AeC79YqXhohGBBMRAgAGBQI/SjhtAAoJEPZvyGyauKPLIr4An1aZSU2L3I/jZGlF
|
||||
MsU+nz3d+TOAAKDOnxbsoKgRhn1p7MRYn8QXc3T/tIhGBBMRAgAGBQI/SjiuAAoJ
|
||||
EMI2vR6azgrHtmsAn1NutdBX5hS62Ne8fvsZCvkbqvhfAJ4rWd6Vc7IuRDNzZYpb
|
||||
xL9EAxgfkohGBBMRAgAGBQI/dy/dAAoJENvxtasvt6WjDasAn3GqL1MIH4TJA2V6
|
||||
fh/3hDaRFDZIAJ9GE6BuWSNX0dFgr960pbEcF7eafIhGBBMRAgAGBQI/eIQQAAoJ
|
||||
EHWgnIApjeXf3fgAoIc849RL8dOKI/JjVGOtQ6QQuHDgAKDoAanJ/OKaGgq8lU3H
|
||||
uRypkOTppohGBBMRAgAGBQI/kCHtAAoJEF7HvjcDzgGemNoAnjGHY52g9NLumRAf
|
||||
o/xo3Q3xHvonAKC033thPo/KKt4BLdLrWNdJOkX3kohGBBMRAgAGBQI/kEAgAAoJ
|
||||
EOzn6l9r2/d2UfwAnRohcZnSNMQG7gcHhu9+JRMd37SMAKDD5NOOfGEkftnkn9Bp
|
||||
7YBZNu5cvYhGBBMRAgAGBQI/kRlyAAoJEOOmjcqmmNqZ7kcAnjg5i9StHt/GfplU
|
||||
ncQaqdqQnbFZAKCDM39uLh6e46/Nq0AHn6tsfPWfiIhGBBMRAgAGBQI/lQizAAoJ
|
||||
EEwy+QiZ3ZRojF4AoJhtu7otkcutXf2xe+B7PnwNxPxLAKCtetyr53Ig/7UbwQxA
|
||||
Rg3VKYM3zYhGBBMRAgAGBQI/n+6+AAoJENhQNV6vlcMfOzQAoK2VRkNKxXNyY19X
|
||||
wVezMK3iR6UlAKCGRVygnQ9IEGk8OOt1gdVAyVJjK4hGBBMRAgAGBQI/0LH/AAoJ
|
||||
EPTDdWN9fTjzl7gAn25IBQyvuKIu4w6ckwEZg2ff/ccOAKCgXIU4csVoLa0rmSSX
|
||||
VaPZLDYqbYhGBBMRAgAGBQJAOrCoAAoJEOL8xWbutrTCPMgAn1tS19oCCv/pdRhV
|
||||
6Re9cL7CYhOtAKCsGwEiaciGAi1uPhqlWYmggvKb/IhGBBMRAgAGBQJAv8SFAAoJ
|
||||
EDVtYDTtrgzaRdEAniDwT/0FL4AViEaDKCr0sPyMVMoyAJ4udexGfwZwURBf4fAw
|
||||
20UNsEZIBYhGBBMRAgAGBQJAv/hpAAoJEGzbQ2xyBIUlf/8An3/NhDV+mo6pj2hv
|
||||
drSEjgrznYLWAJ9b/fLiVAs3kq48CHVVZnIeUW/R14hGBBMRAgAGBQJA0LXlAAoJ
|
||||
EBy5v9yhkU4RG9IAmgNrj2z4tNZYJuLB2daRpPR6hTuLAJ9L6T0D6LI1NE9fv7G9
|
||||
JeKi9yDVkIhGBBMRAgAGBQJA/CMzAAoJECjG9WuBfDVoWj0AoMeV4t6mHz/L/B8W
|
||||
BCLXmR7S5RkEAKCHJGcYFDAyXMFmLeDlfoOp4FwGaIhGBBMRAgAGBQJDO7fjAAoJ
|
||||
EKFQ/C2FqPeL56kAnREuaH9ZHvcn2S9cgz6KuaXq7Cy1AJ9d/itsqYe2fT+UXooq
|
||||
GlfZYydyx4hGBBMRAgAGBQJHIendAAoJEE+rSctElUDynTkAn1tBKryTCUIFOrVr
|
||||
89OEmo9cEI+5AKCjeB3+OE3PshjXyIhh+lvhcDg47ohJBBMRAgAJBQJBMpIjAgcA
|
||||
AAoJEAoE4qn3sTzhXr0An3r9VsTlrkWrpOztTSHStjNZuDNvAKDFidz8k7rHoNnS
|
||||
CzhPgai9Pd14zYicBBABAgAGBQJDNpB6AAoJEI4ZiDH/u3NpNPYD/3AhcU/lFErg
|
||||
afeH4+AXTSatUtlBLfSRU2llMm2VEF31h1ZyqW84vazqCjOqe9Ecb8Fi+6qHOvsD
|
||||
jl2lui2A0m64pxuZlyDwveTzxGmjvxAFkNjoTfovoS8dQ9M3HYi4yBuQv0WoKR7V
|
||||
K4Kz8fdGVHSeqjCjElBojlkETXaA9puTiQEcBBIBAgAGBQJAwwlmAAoJEEwlr7hg
|
||||
LoMZ1LAIAKHYFSwdvkOLfdRHGAmY8SNrgwbQd3z3ddj2mRDejEv6h9ec/CPWxSPz
|
||||
9cBbF/jckuEZupgMBHM40X/2ZX+uYTguTxewST3hwRg4nzjQWqk+H2HmKQyRUQtj
|
||||
A+nHMndDxVtL2upjoJEZevJ0Z5GVE09aeppmICzXVS7eZoD2ZKm2Q/BGiixW91UM
|
||||
Bos5W9BZbxg/oLt2JrQBfsyAz2MSf1H7xXFJXowFtiPbOwUebSHUHq+/fp+xB2Wu
|
||||
00cPBZkvl7rJ66//DYd21BZoDvNXB36Yg3WG3xs25nKQ27ZiTD0cnXDDwUhYlpxj
|
||||
oGzN9Y2bKJXL6IvnQtyCRAST1d61kXmJASIEEAECAAwFAkqwjwgFAwASdQAACgkQ
|
||||
lxC4m8pXrXzpXAf/fu4vcJ2fGyjrNdkPTutXlrzBj6N/EG262HQX2t8PVrYwPfzf
|
||||
uYual7bKqlboKCPoZnhyiIYfCbB/kIt6xzLMlRH3aFKXuSI0F7s0jomZAMk0qzBq
|
||||
OMT21iE7PEWyWppQQlg+vZNQcHHDAA/Vlv2tsE3XLbTsZgPkmeU6TC/OO2MlT7La
|
||||
NhcqFi6gE0Zcypnewq7H7Lhoi2ewJu/ENYh1pbo2wQgrV5aBjOhdg97EUQo3GV69
|
||||
8KRjbfadZW5ApQkwy84itEeGIUt6GZdIck4zuaBQB2nhP5aNVc30YIaQhubtH7/G
|
||||
BIGL+lJxlRFTJiiSjVnZ5M7fNtNg3T+K1Hcb8oh7BBMRCAA7Ah4BAheABQsJCAcD
|
||||
BRUKCQgLBRYCAwEAFiEE7osRg3+cNaZqWUtzxVhZCJWr9QwFAlxM36YFCR1LAegA
|
||||
CgkQxVhZCJWr9QxCaACggtVWcpNrhEvnMUcuDiRG1AD+rRoAn1E3TJKAKxUoQOz+
|
||||
CiV7jjCSnRBQiFsEExECABsFAj8IdT4GCwkIBwMCAxUCAwMWAgECHgECF4AACgkQ
|
||||
xVhZCJWr9Qw66gCeP1DalNg2rYycZNa79zqTOGtuvAoAoKYYCcb+ny534mUJtkMD
|
||||
QsAswCTjiJwEEAEBAAYFAj+ObXgACgkQFzxx5xPZhz2WoQP/RCSwvCtxOA+5I68K
|
||||
3W+sIy4Nra1CXS9PnA6RRizIA/k9YzmeDr9JKnFtb3tAKW9NDegrJKNFtKwI66nz
|
||||
NqfBjrVQ+cvRGiDSaFWp9cI2PB3uhqpkmxGVXV7XcaLBz6IfwZtYgd+TZppWDR+o
|
||||
9HdIQ96MMSzbft0P8p8NM8x0dFKIRgQSEQIABgUCP4+j/AAKCRBsdheMoO2YLbiP
|
||||
AJ47FdUx6k57iexMxX8bN1OLFeHk4wCgq5CyBXH886utFxTD/QISwhk7iwOIRgQQ
|
||||
EQIABgUCP43D3QAKCRCooJ0OuwX/En2xAKCDE6nM1JxB1QW+78IQ7uyRQAIxqQCd
|
||||
HRy5H985kRa+ZhkdGAQWyJ74pjeIRgQSEQIABgUCP4/lbAAKCRAospXD9G6tu/h1
|
||||
AJ9P2aDoZDqlj6kkxZRk2f23BIAwzwCfY2H/pMsAmseXEAi4Qxjxg8nPeWSIRgQS
|
||||
EQIABgUCP5BVoAAKCRCdCKgM7ZCNaoEfAJ0arGYfr2AtV8u7cWyOF+pO9t6SbACf
|
||||
Zc+hZ5Eg1dVZZEzz47ekZQZ9ks2IRgQQEQIABgUCP5YhCwAKCRB23ypfZAPj/RtM
|
||||
AKDJxIFvXE2zZUsxkWcwG9MYrcfk/wCfWpBvsbq2U4k5bY0i/W3HCPNrWHyInAQT
|
||||
AQIABgUCP5Y3pAAKCRDhZ1R17+NHrdjtA/wNyHM9jpdw36K2aLu2hxnokurjKwiF
|
||||
UxGPFr1YFsDyucjFATTBdfJQziwfh3C9TrczLs6p73SzNcySxKLU+7kdI5rs5Kh/
|
||||
Ze87BJdvWg3exYOfa+Lf6TK/oIyVahk+1KBsH8CFVfvRARSTw98h5SNmOqqx0Db6
|
||||
g7HXHLhaEGLxtohGBBMRAgAGBQI/lZpaAAoJEBsn11L6SaYagX8An27HQUQE/zrS
|
||||
g16hrDAvYMSmXR7HAJ9/sEsfcanWoRm2MpkdGXncsvHUC4hGBBMRAgAGBQI/nDHy
|
||||
AAoJEDYCVlOr4LEG5RUAoNPjjx5CZ4GMvl4r3nnqgmY+/mJBAKC4NJiqqWMFA7Zu
|
||||
MCPA6rVGjgPhCbkBDQQ/CHU/EAQAzhJ8xTmFmmLbKpoAe6QvaH1qWbEJLBxcwCxS
|
||||
oq0iA19XZiLkZQT3o37b0uXJybJPQcHdIOpRcG7jT8ucAHbsBrh1zLdQ+gSzmbEd
|
||||
Wz+zVE7aVer+LE0eXlJawCRvh53ysDLzpYo0rFO85NsNJroP48nH7ogSOOTBSnga
|
||||
kA2lZ+MAAwUD/01eYlNRlFE+W9ajEn3b3ulkRovsIXTtaHWBOFHixNQ3S7tlZr+L
|
||||
WbA7hunRTvHwE0332yBQPIkt/SJKtMOFTkpc3WjZhCqFD5i+4yNN23yAHDsh3DC7
|
||||
y4ZjdBWmJHj4eFxQ/3bIuhKtbgKlCtgT8HS/HDroWgtG9zYa4+ONUy3kiGMEGBEI
|
||||
ACMWIQTuixGDf5w1pmpZS3PFWFkIlav1DAUCXEzfjgUJHUsBzwAKCRDFWFkIlav1
|
||||
DOJUAJ9t5D2XLL0jJ8hrvvr8IbZj8ue4fQCfdNYH4k6opx6XL0bMeKAyp9kGsNk=
|
||||
=fgqz
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
|
||||
@@ -29,10 +29,10 @@
|
||||
%endif
|
||||
%bcond_without docs
|
||||
Name: valgrind%{?psuffix}
|
||||
Version: 3.26.0
|
||||
Version: 3.25.1
|
||||
Release: 0
|
||||
Summary: Memory Management Debugger
|
||||
License: GFDL-1.2-only AND GPL-3.0-or-later
|
||||
License: GFDL-1.2-only AND GPL-2.0-or-later
|
||||
Group: Development/Tools/Debuggers
|
||||
URL: https://valgrind.org/
|
||||
Source0: https://sourceware.org/pub/valgrind/valgrind-%{version}.tar.bz2
|
||||
@@ -43,13 +43,14 @@ Source2: valgrind.keyring
|
||||
Patch0: valgrind.xen.patch
|
||||
# bko#276780 missing implementation for PINSRD
|
||||
Patch1: VEX-x86-pinsrd.patch
|
||||
Patch2: 0001-Bug-503241-s390x-Support-z17-changes-to-the-NNPA-ins.patch
|
||||
Patch10: dhat-use-datadir.patch
|
||||
BuildRequires: automake
|
||||
BuildRequires: pkgconfig
|
||||
%if %{suse_version} == 1600 && !0%{?is_opensuse}
|
||||
ExclusiveArch: aarch64 x86_64 ppc64le s390x
|
||||
%else
|
||||
ExclusiveArch: aarch64 %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7l armv7hl armv6l armv6hl riscv64
|
||||
ExclusiveArch: aarch64 %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7l armv7hl armv6l armv6hl
|
||||
%endif
|
||||
%if "%{flavor}" == ""
|
||||
Requires: (glibc >= %{glibc_main_version}.%{glibc_major_version} with glibc < %{glibc_main_version}.%{lua:print(rpm.expand("%{glibc_major_version}")+1)})
|
||||
@@ -274,9 +275,6 @@ VALGRIND_LIB=$PWD/.in_place VALGRIND_LIB_INNER=$PWD/.in_place ./coregrind/valgri
|
||||
%ifarch %{arm}
|
||||
%{_libexecdir}/valgrind/*-arm-linux
|
||||
%endif
|
||||
%ifarch riscv64
|
||||
%{_libexecdir}/valgrind/*-riscv64-linux
|
||||
%endif
|
||||
%dir %{_datadir}/valgrind
|
||||
%{_datadir}/valgrind/dh_view*
|
||||
%{_libexecdir}/valgrind/*-linux.so
|
||||
|
||||
Reference in New Issue
Block a user