diff --git a/0001-Fix-makefile-consistency-check.patch b/0001-Fix-makefile-consistency-check.patch new file mode 100644 index 0000000..1062363 --- /dev/null +++ b/0001-Fix-makefile-consistency-check.patch @@ -0,0 +1,26 @@ +From 379c62017f1e573eeb54725bf3a3bc84c5aa9977 Mon Sep 17 00:00:00 2001 +From: Petar Jovanovic +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 + diff --git a/0001-s390x-Add-CPU-model-for-z15.patch b/0001-s390x-Add-CPU-model-for-z15.patch new file mode 100644 index 0000000..1bb8d1f --- /dev/null +++ b/0001-s390x-Add-CPU-model-for-z15.patch @@ -0,0 +1,135 @@ +From 3a2711c659ac839934f13e0529e14d6c15325383 Mon Sep 17 00:00:00 2001 +From: Andreas Arnez +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" }, + }; + + diff --git a/0001-s390x-Add-models-z14-and-z14-ZR1.patch b/0001-s390x-Add-models-z14-and-z14-ZR1.patch new file mode 100644 index 0000000..ca2d8cc --- /dev/null +++ b/0001-s390x-Add-models-z14-and-z14-ZR1.patch @@ -0,0 +1,128 @@ +From 65d8e9ed96287235b33dfe40525a442dc978e3af Mon Sep 17 00:00:00 2001 +From: Andreas Arnez +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"}, + }; + + diff --git a/0001-s390x-Clean-up-s390-check-opcodes.pl.patch b/0001-s390x-Clean-up-s390-check-opcodes.pl.patch new file mode 100644 index 0000000..ff1d914 --- /dev/null +++ b/0001-s390x-Clean-up-s390-check-opcodes.pl.patch @@ -0,0 +1,30 @@ +From e63f93a970b8eb83d83dfb8bb39d578229fa3496 Mon Sep 17 00:00:00 2001 +From: Andreas Arnez +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), diff --git a/valgrind-client-headers-source.changes b/valgrind-client-headers-source.changes index 2f05831..76c75a5 100644 --- a/valgrind-client-headers-source.changes +++ b/valgrind-client-headers-source.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Jan 28 14:02:04 UTC 2020 - Guillaume GARDET + +- Disable %check on %arm as it never passed - boo#1130395 + +------------------------------------------------------------------- +Sun Jan 19 15:43:47 UTC 2020 - Stefan BrĂ¼ns + +- 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 diff --git a/valgrind.changes b/valgrind.changes index 76c75a5..6905fd0 100644 --- a/valgrind.changes +++ b/valgrind.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Mar 12 08:56:24 UTC 2020 - Dirk Mueller + +- 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 diff --git a/valgrind.spec b/valgrind.spec index e5817c9..4085f86 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -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}" == ""