- Disable %check on %arm as it never passed - boo#1130395

- Add support for PR_CAPBSET_READ/DROP syscalls. Fixes false
  error messages with latest libcap 2.30.
  * 0001-Add-newer-constants-for-prctl-syscall.patch
  * 0002-Add-support-for-PR_CAPBSET_READ-and-_DROP-syscalls.patch

- add 0001-Fix-makefile-consistency-check.patch
  0001-s390x-Add-models-z14-and-z14-ZR1.patch
  0001-s390x-Clean-up-s390-check-opcodes.pl.patch
  0001-s390x-Add-CPU-model-for-z15.patch (bsc#1165834)

OBS-URL: https://build.opensuse.org/package/show/devel:tools/valgrind?expand=0&rev=215
This commit is contained in:
Dirk Mueller 2020-03-12 15:50:21 +00:00 committed by Git OBS Bridge
parent 29b6c84436
commit 4aab495c91
7 changed files with 348 additions and 0 deletions

View File

@ -0,0 +1,26 @@
From 379c62017f1e573eeb54725bf3a3bc84c5aa9977 Mon Sep 17 00:00:00 2001
From: Petar Jovanovic <mips32r2@gmail.com>
Date: Fri, 14 Jun 2019 14:14:05 +0000
Subject: [PATCH] Fix makefile consistency check
Add ecag.stdout.exp-z14 to EXTRA_DIST.
---
none/tests/s390x/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/none/tests/s390x/Makefile.am b/none/tests/s390x/Makefile.am
index a5fbffd1e..c5b07f7a2 100644
--- a/none/tests/s390x/Makefile.am
+++ b/none/tests/s390x/Makefile.am
@@ -39,7 +39,7 @@ EXTRA_DIST = \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
ecag.stdout.exp-z10ec ecag.stdout.exp-z196 ecag.stdout.exp-zec12 \
- ecag.stdout.exp-z13 \
+ ecag.stdout.exp-z13 ecag.stdout.exp-z14 \
op00.stderr.exp1 op00.stderr.exp2 op00.vgtest \
fixbr.vgtest fixbr.stderr.exp fixbr.stdout.exp \
fpext.vgtest fpext.stderr.exp fpext.stdout.exp \
--
2.25.1

View File

@ -0,0 +1,135 @@
From 3a2711c659ac839934f13e0529e14d6c15325383 Mon Sep 17 00:00:00 2001
From: Andreas Arnez <arnez@linux.ibm.com>
Date: Thu, 27 Feb 2020 15:52:53 +0100
Subject: [PATCH] s390x: Add CPU model for z15
Make the z15 CPU models known to Valgrind. Add test case output for z15
to the "ecag" test. Also ensure that the facility bits for CPU facilities
unsupported by Valgrind are unset, particularly for the new
deflate-conversion facility.
---
VEX/priv/guest_s390_helpers.c | 3 +++
VEX/pub/libvex.h | 3 ++-
VEX/pub/libvex_s390x_common.h | 3 +++
auxprogs/s390-check-opcodes.pl | 2 +-
coregrind/m_machine.c | 2 ++
none/tests/s390x/Makefile.am | 2 +-
none/tests/s390x/ecag.stdout.exp-z15 | 28 ++++++++++++++++++++++++++++
tests/s390x_features.c | 2 ++
8 files changed, 42 insertions(+), 3 deletions(-)
create mode 100644 none/tests/s390x/ecag.stdout.exp-z15
Index: valgrind-3.15.0/VEX/priv/guest_s390_helpers.c
===================================================================
--- valgrind-3.15.0.orig/VEX/priv/guest_s390_helpers.c
+++ valgrind-3.15.0/VEX/priv/guest_s390_helpers.c
@@ -379,6 +379,9 @@ s390x_dirtyhelper_STFLE(VexGuestS390XSta
s390_set_facility_bit(addr, S390_FAC_CTREXE, 0);
s390_set_facility_bit(addr, S390_FAC_TREXE, 0);
s390_set_facility_bit(addr, S390_FAC_MSA4, 0);
+ s390_set_facility_bit(addr, S390_FAC_VXE, 0);
+ s390_set_facility_bit(addr, S390_FAC_VXE2, 0);
+ s390_set_facility_bit(addr, S390_FAC_DFLT, 0);
return cc;
}
Index: valgrind-3.15.0/VEX/pub/libvex.h
===================================================================
--- valgrind-3.15.0.orig/VEX/pub/libvex.h
+++ valgrind-3.15.0/VEX/pub/libvex.h
@@ -148,7 +148,8 @@ typedef
#define VEX_S390X_MODEL_Z13S 13
#define VEX_S390X_MODEL_Z14 14
#define VEX_S390X_MODEL_Z14_ZR1 15
-#define VEX_S390X_MODEL_UNKNOWN 16 /* always last in list */
+#define VEX_S390X_MODEL_Z15 16
+#define VEX_S390X_MODEL_UNKNOWN 17 /* always last in list */
#define VEX_S390X_MODEL_MASK 0x3F
#define VEX_HWCAPS_S390X_LDISP (1<<6) /* Long-displacement facility */
Index: valgrind-3.15.0/VEX/pub/libvex_s390x_common.h
===================================================================
--- valgrind-3.15.0.orig/VEX/pub/libvex_s390x_common.h
+++ valgrind-3.15.0/VEX/pub/libvex_s390x_common.h
@@ -104,6 +104,9 @@
#define S390_FAC_TREXE 73 // transactional execution
#define S390_FAC_MSA4 77 // message-security-assist 4
#define S390_FAC_VX 129 // vector facility
+#define S390_FAC_VXE 135 // vector enhancements facility 1
+#define S390_FAC_VXE2 148 // vector enhancements facility 2
+#define S390_FAC_DFLT 151 // deflate-conversion facility
/*--------------------------------------------------------------*/
Index: valgrind-3.15.0/coregrind/m_machine.c
===================================================================
--- valgrind-3.15.0.orig/coregrind/m_machine.c
+++ valgrind-3.15.0/coregrind/m_machine.c
@@ -582,6 +582,8 @@ static UInt VG_(get_machine_model)(void)
{ "2965", VEX_S390X_MODEL_Z13S },
{ "3906", VEX_S390X_MODEL_Z14 },
{ "3907", VEX_S390X_MODEL_Z14_ZR1 },
+ { "8561", VEX_S390X_MODEL_Z15 },
+ { "8562", VEX_S390X_MODEL_Z15 },
};
Int model, n, fh;
Index: valgrind-3.15.0/none/tests/s390x/Makefile.am
===================================================================
--- valgrind-3.15.0.orig/none/tests/s390x/Makefile.am
+++ valgrind-3.15.0/none/tests/s390x/Makefile.am
@@ -39,7 +39,7 @@ EXTRA_DIST = \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
ecag.stdout.exp-z10ec ecag.stdout.exp-z196 ecag.stdout.exp-zec12 \
- ecag.stdout.exp-z13 ecag.stdout.exp-z14 \
+ ecag.stdout.exp-z13 ecag.stdout.exp-z14 ecag.stdout.exp-z15 \
op00.stderr.exp1 op00.stderr.exp2 op00.vgtest \
fixbr.vgtest fixbr.stderr.exp fixbr.stdout.exp \
fpext.vgtest fpext.stderr.exp fpext.stdout.exp \
Index: valgrind-3.15.0/none/tests/s390x/ecag.stdout.exp-z15
===================================================================
--- /dev/null
+++ valgrind-3.15.0/none/tests/s390x/ecag.stdout.exp-z15
@@ -0,0 +1,28 @@
+L1 topology: separate data and instruction; private
+L1 cache line size data: 256
+L1 cache line size insn: 256
+L1 total cachesize data: 131072
+L1 total cachesize insn: 131072
+L1 set. assoc. data: 8
+L1 set. assoc. insn: 8
+L2 topology: separate data and instruction; private
+L2 cache line size data: 256
+L2 cache line size insn: 256
+L2 total cachesize data: 4194304
+L2 total cachesize insn: 4194304
+L2 set. assoc. data: 8
+L2 set. assoc. insn: 8
+L3 topology: unified data and instruction; shared
+L3 cache line size data: 256
+L3 cache line size insn: 256
+L3 total cachesize data: 268435456
+L3 total cachesize insn: 268435456
+L3 set. assoc. data: 32
+L3 set. assoc. insn: 32
+L4 topology: unified data and instruction; shared
+L4 cache line size data: 256
+L4 cache line size insn: 256
+L4 total cachesize data: 1006632960
+L4 total cachesize insn: 1006632960
+L4 set. assoc. data: 60
+L4 set. assoc. insn: 60
Index: valgrind-3.15.0/tests/s390x_features.c
===================================================================
--- valgrind-3.15.0.orig/tests/s390x_features.c
+++ valgrind-3.15.0/tests/s390x_features.c
@@ -100,6 +100,8 @@ model_info models[] = {
{ "2965", "z13s" },
{ "3906", "z14" },
{ "3907", "z14 ZR1"},
+ { "8561", "z15" },
+ { "8562", "z15" },
};

View File

@ -0,0 +1,128 @@
From 65d8e9ed96287235b33dfe40525a442dc978e3af Mon Sep 17 00:00:00 2001
From: Andreas Arnez <arnez@linux.ibm.com>
Date: Tue, 2 Oct 2018 13:47:50 +0200
Subject: [PATCH] s390x: Add models "z14" and "z14 ZR1"
Add IBM z14 and IBM z14 ZR1 to the list of known machine models. Add an
expected output variant for z14 to the s390x-specific "ecag" test case.
In README.s390, refer to a current version of the z/Architecture
Principles of Operation that describes the instructions introduced with
IBM z14.
---
README.s390 | 5 ++---
VEX/priv/main_main.c | 2 ++
VEX/pub/libvex.h | 4 +++-
coregrind/m_machine.c | 2 ++
none/tests/s390x/ecag.stdout.exp-z14 | 28 ++++++++++++++++++++++++++++
tests/s390x_features.c | 2 ++
6 files changed, 39 insertions(+), 4 deletions(-)
create mode 100644 none/tests/s390x/ecag.stdout.exp-z14
Index: valgrind-3.15.0/README.s390
===================================================================
--- valgrind-3.15.0.orig/README.s390
+++ valgrind-3.15.0/README.s390
@@ -12,7 +12,6 @@ Limitations
- 31-bit client programs are not supported.
- Hexadecimal floating point is not supported.
- Transactional memory is not supported.
-- Instructions operating on vector registers are not supported.
- memcheck, cachegrind, drd, helgrind, massif, lackey, and none are
supported.
- On machine models predating z10, cachegrind will assume a z10 cache
@@ -49,6 +48,6 @@ Reading Material
(1) Linux for zSeries ELF ABI Supplement
http://refspecs.linuxfoundation.org/ELF/zSeries/index.html
(2) z/Architecture Principles of Operation
- http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr010.pdf
+ http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr011.pdf
(3) z/Architecture Reference Summary
- http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs008.pdf
+ http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs009.pdf
Index: valgrind-3.15.0/VEX/priv/main_main.c
===================================================================
--- valgrind-3.15.0.orig/VEX/priv/main_main.c
+++ valgrind-3.15.0/VEX/priv/main_main.c
@@ -1721,6 +1721,8 @@ static const HChar* show_hwcaps_s390x (
{ VEX_HWCAPS_S390X_FPEXT, "fpext" },
{ VEX_HWCAPS_S390X_LSC, "lsc" },
{ VEX_HWCAPS_S390X_PFPO, "pfpo" },
+ { VEX_HWCAPS_S390X_VX, "vx" },
+ { VEX_HWCAPS_S390X_MSA5, "msa5" },
};
/* Allocate a large enough buffer */
static HChar buf[sizeof prefix +
Index: valgrind-3.15.0/VEX/pub/libvex.h
===================================================================
--- valgrind-3.15.0.orig/VEX/pub/libvex.h
+++ valgrind-3.15.0/VEX/pub/libvex.h
@@ -146,7 +146,9 @@ typedef
#define VEX_S390X_MODEL_ZBC12 11
#define VEX_S390X_MODEL_Z13 12
#define VEX_S390X_MODEL_Z13S 13
-#define VEX_S390X_MODEL_UNKNOWN 14 /* always last in list */
+#define VEX_S390X_MODEL_Z14 14
+#define VEX_S390X_MODEL_Z14_ZR1 15
+#define VEX_S390X_MODEL_UNKNOWN 16 /* always last in list */
#define VEX_S390X_MODEL_MASK 0x3F
#define VEX_HWCAPS_S390X_LDISP (1<<6) /* Long-displacement facility */
Index: valgrind-3.15.0/coregrind/m_machine.c
===================================================================
--- valgrind-3.15.0.orig/coregrind/m_machine.c
+++ valgrind-3.15.0/coregrind/m_machine.c
@@ -580,6 +580,8 @@ static UInt VG_(get_machine_model)(void)
{ "2828", VEX_S390X_MODEL_ZBC12 },
{ "2964", VEX_S390X_MODEL_Z13 },
{ "2965", VEX_S390X_MODEL_Z13S },
+ { "3906", VEX_S390X_MODEL_Z14 },
+ { "3907", VEX_S390X_MODEL_Z14_ZR1 },
};
Int model, n, fh;
Index: valgrind-3.15.0/none/tests/s390x/ecag.stdout.exp-z14
===================================================================
--- /dev/null
+++ valgrind-3.15.0/none/tests/s390x/ecag.stdout.exp-z14
@@ -0,0 +1,28 @@
+L1 topology: separate data and instruction; private
+L1 cache line size data: 256
+L1 cache line size insn: 256
+L1 total cachesize data: 131072
+L1 total cachesize insn: 131072
+L1 set. assoc. data: 8
+L1 set. assoc. insn: 8
+L2 topology: separate data and instruction; private
+L2 cache line size data: 256
+L2 cache line size insn: 256
+L2 total cachesize data: 4194304
+L2 total cachesize insn: 2097152
+L2 set. assoc. data: 8
+L2 set. assoc. insn: 8
+L3 topology: unified data and instruction; shared
+L3 cache line size data: 256
+L3 cache line size insn: 256
+L3 total cachesize data: 134217728
+L3 total cachesize insn: 134217728
+L3 set. assoc. data: 32
+L3 set. assoc. insn: 32
+L4 topology: unified data and instruction; shared
+L4 cache line size data: 256
+L4 cache line size insn: 256
+L4 total cachesize data: 704643072
+L4 total cachesize insn: 704643072
+L4 set. assoc. data: 42
+L4 set. assoc. insn: 42
Index: valgrind-3.15.0/tests/s390x_features.c
===================================================================
--- valgrind-3.15.0.orig/tests/s390x_features.c
+++ valgrind-3.15.0/tests/s390x_features.c
@@ -98,6 +98,8 @@ model_info models[] = {
{ "2828", "zBC12" },
{ "2964", "z13" },
{ "2965", "z13s" },
+ { "3906", "z14" },
+ { "3907", "z14 ZR1"},
};

View File

@ -0,0 +1,30 @@
From e63f93a970b8eb83d83dfb8bb39d578229fa3496 Mon Sep 17 00:00:00 2001
From: Andreas Arnez <arnez@linux.ibm.com>
Date: Tue, 14 May 2019 17:19:34 +0200
Subject: [PATCH] s390x: Clean up s390-check-opcodes.pl
Fix false positives when invoking s390-check-opcodes.pl. Also clean up
some code formatting issues in that script. Add the instructions TPEI and
IRBM to guest_s390_toIR.c and s390-opcodes.csv, so they are not longer
warned about.
---
VEX/priv/guest_s390_toIR.c | 2 +
auxprogs/s390-check-opcodes.pl | 101 +++++++++++++++++---------------
docs/internals/s390-opcodes.csv | 2 +
3 files changed, 57 insertions(+), 48 deletions(-)
Index: valgrind-3.15.0/VEX/priv/guest_s390_toIR.c
===================================================================
--- valgrind-3.15.0.orig/VEX/priv/guest_s390_toIR.c
+++ valgrind-3.15.0/VEX/priv/guest_s390_toIR.c
@@ -19615,8 +19615,10 @@ s390_decode_4byte_and_irgen(const UChar
case 0xb99d: /* ESEA */ goto unimplemented;
case 0xb99e: /* PTI */ goto unimplemented;
case 0xb99f: /* SSAIR */ goto unimplemented;
+ case 0xb9a1: /* TPEI */ goto unimplemented;
case 0xb9a2: /* PTF */ goto unimplemented;
case 0xb9aa: /* LPTEA */ goto unimplemented;
+ case 0xb9ac: /* IRBM */ goto unimplemented;
case 0xb9ae: /* RRBM */ goto unimplemented;
case 0xb9af: /* PFMF */ goto unimplemented;
case 0xb9b0: s390_format_RRF_M0RERE(s390_irgen_CU14, RRF3_r3(ovl),

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Tue Jan 28 14:02:04 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Disable %check on %arm as it never passed - boo#1130395
-------------------------------------------------------------------
Sun Jan 19 15:43:47 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Add support for PR_CAPBSET_READ/DROP syscalls. Fixes false
error messages with latest libcap 2.30.
* 0001-Add-newer-constants-for-prctl-syscall.patch
* 0002-Add-support-for-PR_CAPBSET_READ-and-_DROP-syscalls.patch
-------------------------------------------------------------------
Wed Nov 27 14:17:11 UTC 2019 - Dirk Mueller <dmueller@suse.com>

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Thu Mar 12 08:56:24 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- add 0001-Fix-makefile-consistency-check.patch
0001-s390x-Add-models-z14-and-z14-ZR1.patch
0001-s390x-Clean-up-s390-check-opcodes.pl.patch
0001-s390x-Add-CPU-model-for-z15.patch (bsc#1165834)
-------------------------------------------------------------------
Tue Jan 28 14:02:04 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>

View File

@ -44,6 +44,10 @@ Patch2: armv6-support.diff
Patch3: 0001-Add-newer-constants-for-prctl-syscall.patch
# PATCH-FIX-UPSTREAM
Patch4: 0002-Add-support-for-PR_CAPBSET_READ-and-_DROP-syscalls.patch
Patch5: 0001-Fix-makefile-consistency-check.patch
Patch6: 0001-s390x-Add-models-z14-and-z14-ZR1.patch
Patch7: 0001-s390x-Clean-up-s390-check-opcodes.pl.patch
Patch8: 0001-s390x-Add-CPU-model-for-z15.patch
%if "%{flavor}" == ""
%if %{with docs}
BuildRequires: docbook-xsl-stylesheets
@ -156,6 +160,10 @@ but it has been successfully used to optimize several KDE applications.
%patch2
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%build
%if "%{flavor}" == ""