You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(4) |
2
(2) |
|
3
|
4
(3) |
5
(3) |
6
(5) |
7
(7) |
8
(1) |
9
(7) |
|
10
(7) |
11
(1) |
12
(13) |
13
(4) |
14
|
15
(5) |
16
|
|
17
(1) |
18
(2) |
19
(3) |
20
|
21
|
22
|
23
(1) |
|
24
|
25
|
26
|
27
(1) |
28
(3) |
29
|
30
|
|
31
|
|
|
|
|
|
|
|
From: Andreas A. <ar...@so...> - 2021-10-04 12:51:16
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=bc78771b8b7b981dd8dfc9909fefed2d7f77d5a9 commit bc78771b8b7b981dd8dfc9909fefed2d7f77d5a9 Author: Andreas Arnez <ar...@li...> Date: Fri Oct 1 20:10:54 2021 +0200 s390x: Add missing "cc" clobbers in test case inline asms Some inline assemblies in various s390x test cases miss specifying the condition code "cc" in the clobber list. Although this has not actually been seen to cause wrong code generation, it certainly might, so fix this. Diff: --- none/tests/s390x/bfp-2.c | 12 ++++++------ none/tests/s390x/cgij.c | 2 +- none/tests/s390x/cgrj.c | 2 +- none/tests/s390x/cij.c | 2 +- none/tests/s390x/clgij.c | 2 +- none/tests/s390x/clgrj.c | 2 +- none/tests/s390x/clij.c | 2 +- none/tests/s390x/clrj.c | 2 +- none/tests/s390x/crj.c | 2 +- none/tests/s390x/dfp-1.c | 1 + none/tests/s390x/dfp-2.c | 6 ++++-- none/tests/s390x/dfp-3.c | 1 + none/tests/s390x/lsc2.c | 15 ++++++++++----- none/tests/s390x/misc3.c | 2 +- none/tests/s390x/pfpo.c | 3 ++- none/tests/s390x/tre.c | 2 +- none/tests/s390x/troo.c | 2 +- none/tests/s390x/trot.c | 2 +- none/tests/s390x/trto.c | 2 +- none/tests/s390x/trtt.c | 2 +- none/tests/s390x/xc.c | 20 ++++++++++---------- 21 files changed, 48 insertions(+), 38 deletions(-) diff --git a/none/tests/s390x/bfp-2.c b/none/tests/s390x/bfp-2.c index a4295daa9c..73349eddd2 100644 --- a/none/tests/s390x/bfp-2.c +++ b/none/tests/s390x/bfp-2.c @@ -27,7 +27,7 @@ void lnebr(float in) { float out; - __asm__ volatile("lnebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in)); + __asm__ volatile("lnebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in) : "cc"); printf("lnebr %f -> %f\n", in, out); } @@ -35,7 +35,7 @@ void lndbr(double in) { double out; - __asm__ volatile("lndbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in)); + __asm__ volatile("lndbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in) : "cc"); printf("lndbr %f -> %f\n", in, out); } @@ -43,7 +43,7 @@ void lpebr(float in) { float out; - __asm__ volatile("lpebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in)); + __asm__ volatile("lpebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in) : "cc"); printf("lpebr %f -> %f\n", in, out); } @@ -51,7 +51,7 @@ void lpdbr(double in) { double out; - __asm__ volatile("lpdbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in)); + __asm__ volatile("lpdbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in) : "cc"); printf("lpdbr %f -> %f\n", in, out); } @@ -59,7 +59,7 @@ void lcebr(float in) { float out; - __asm__ volatile("lcebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in)); + __asm__ volatile("lcebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in) : "cc"); printf("lcebr %f -> %f\n", in, out); } @@ -67,7 +67,7 @@ void lcdbr(double in) { double out; - __asm__ volatile("lcdbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in)); + __asm__ volatile("lcdbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in) : "cc"); printf("lcdbr %f -> %f\n", in, out); } diff --git a/none/tests/s390x/cgij.c b/none/tests/s390x/cgij.c index 799e4240b2..6b69565bc2 100644 --- a/none/tests/s390x/cgij.c +++ b/none/tests/s390x/cgij.c @@ -2,7 +2,7 @@ #include <stdint.h> #include "opcodes.h" -#define BRASLCLOBBER "0","1","2","3","4","5","14", \ +#define BRASLCLOBBER "cc", "0","1","2","3","4","5","14", \ "f0","f1","f2","f3","f4","f5","f6","f7" void if_eq(void) { printf("equal\n"); } diff --git a/none/tests/s390x/cgrj.c b/none/tests/s390x/cgrj.c index 3a5abd336b..d11a63242c 100644 --- a/none/tests/s390x/cgrj.c +++ b/none/tests/s390x/cgrj.c @@ -2,7 +2,7 @@ #include <stdint.h> #include "opcodes.h" -#define BRASLCLOBBER "0","1","2","3","4","5","14", \ +#define BRASLCLOBBER "cc", "0","1","2","3","4","5","14", \ "f0","f1","f2","f3","f4","f5","f6","f7" void if_eq(void) { printf("equal\n"); } diff --git a/none/tests/s390x/cij.c b/none/tests/s390x/cij.c index 34e24d0ce9..10f0a988cc 100644 --- a/none/tests/s390x/cij.c +++ b/none/tests/s390x/cij.c @@ -2,7 +2,7 @@ #include <stdint.h> #include "opcodes.h" -#define BRASLCLOBBER "0","1","2","3","4","5","14", \ +#define BRASLCLOBBER "cc", "0","1","2","3","4","5","14", \ "f0","f1","f2","f3","f4","f5","f6","f7" void if_eq(void) { printf("equal\n"); } diff --git a/none/tests/s390x/clgij.c b/none/tests/s390x/clgij.c index 7cfd509852..d993deadca 100644 --- a/none/tests/s390x/clgij.c +++ b/none/tests/s390x/clgij.c @@ -2,7 +2,7 @@ #include <stdint.h> #include "opcodes.h" -#define BRASLCLOBBER "0","1","2","3","4","5","14", \ +#define BRASLCLOBBER "cc", "0","1","2","3","4","5","14", \ "f0","f1","f2","f3","f4","f5","f6","f7" void if_eq(void) { printf("equal\n"); } diff --git a/none/tests/s390x/clgrj.c b/none/tests/s390x/clgrj.c index c7917df505..9ffd1114a2 100644 --- a/none/tests/s390x/clgrj.c +++ b/none/tests/s390x/clgrj.c @@ -2,7 +2,7 @@ #include <stdint.h> #include "opcodes.h" -#define BRASLCLOBBER "0","1","2","3","4","5","14", \ +#define BRASLCLOBBER "cc", "0","1","2","3","4","5","14", \ "f0","f1","f2","f3","f4","f5","f6","f7" void if_eq(void) { printf("equal\n"); } diff --git a/none/tests/s390x/clij.c b/none/tests/s390x/clij.c index dc627cdcc9..01636cf7df 100644 --- a/none/tests/s390x/clij.c +++ b/none/tests/s390x/clij.c @@ -2,7 +2,7 @@ #include <stdint.h> #include "opcodes.h" -#define BRASLCLOBBER "0","1","2","3","4","5","14", \ +#define BRASLCLOBBER "cc", "0","1","2","3","4","5","14", \ "f0","f1","f2","f3","f4","f5","f6","f7" void if_eq(void) { printf("equal\n"); } diff --git a/none/tests/s390x/clrj.c b/none/tests/s390x/clrj.c index ba42b948db..b88232134f 100644 --- a/none/tests/s390x/clrj.c +++ b/none/tests/s390x/clrj.c @@ -2,7 +2,7 @@ #include <stdint.h> #include "opcodes.h" -#define BRASLCLOBBER "0","1","2","3","4","5","14", \ +#define BRASLCLOBBER "cc", "0","1","2","3","4","5","14", \ "f0","f1","f2","f3","f4","f5","f6","f7" void if_eq(void) { printf("equal\n"); } diff --git a/none/tests/s390x/crj.c b/none/tests/s390x/crj.c index df3bd2009a..65d9d0d9ad 100644 --- a/none/tests/s390x/crj.c +++ b/none/tests/s390x/crj.c @@ -2,7 +2,7 @@ #include <stdint.h> #include "opcodes.h" -#define BRASLCLOBBER "0","1","2","3","4","5","14", \ +#define BRASLCLOBBER "cc", "0","1","2","3","4","5","14", \ "f0","f1","f2","f3","f4","f5","f6","f7" void if_eq(void) { printf("equal\n"); } diff --git a/none/tests/s390x/dfp-1.c b/none/tests/s390x/dfp-1.c index 1b7d51b9e3..b9be89963f 100644 --- a/none/tests/s390x/dfp-1.c +++ b/none/tests/s390x/dfp-1.c @@ -15,6 +15,7 @@ volatile _Decimal128 d128_1, d128_2, result_128; "srl %1,28\n\t" \ :"+f" (d1), "=d" (cc) \ :"f"(d2) \ + :"cc" \ ); \ d1; \ }) diff --git a/none/tests/s390x/dfp-2.c b/none/tests/s390x/dfp-2.c index bec51be3df..061fff4c7a 100644 --- a/none/tests/s390x/dfp-2.c +++ b/none/tests/s390x/dfp-2.c @@ -89,7 +89,8 @@ void ltdtr(_Decimal64 in) "ipm %1\n\t" "srl %1,28\n\t" :[out] "=d" (out), "=d" (cc) - :[in] "f" (in)); + :[in] "f" (in) + :"cc"); printf("LTDTR "); DFP_VAL_PRINT(in, _Decimal64); printf(" -> %d\n", cc); @@ -103,7 +104,8 @@ void ltxtr(_Decimal128 in) "ipm %1\n\t" "srl %1,28\n\t" :[out] "=f" (out), "=d" (cc) - :[in] "f" (in)); + :[in] "f" (in) + :"cc"); printf("LTXTR "); DFP_VAL_PRINT(in, _Decimal128); printf(" -> %d\n", cc); diff --git a/none/tests/s390x/dfp-3.c b/none/tests/s390x/dfp-3.c index ed0177c69f..5120ed6b4e 100644 --- a/none/tests/s390x/dfp-3.c +++ b/none/tests/s390x/dfp-3.c @@ -19,6 +19,7 @@ "srl %0,28\n\t" \ :"=d" (cc) \ :"f"(d1), "f"(d2) \ + :"cc" \ ); \ cc; \ }) diff --git a/none/tests/s390x/lsc2.c b/none/tests/s390x/lsc2.c index ecfc5a9816..c026dcbd62 100644 --- a/none/tests/s390x/lsc2.c +++ b/none/tests/s390x/lsc2.c @@ -163,7 +163,8 @@ static bool test_llzrgf(const uint32_t testedValue) : [testedValue] "r"(testedValue), \ [invertedValue] "r"(invertedValue), \ [overrideValue] #ARGUMENT_ASM_TYPE(overrideValue), \ - "[after]"(after)); \ + "[after]"(after) \ + : "cc"); \ \ SMART_RETURN_R64(TESTED_INSTRUCTION); \ } @@ -199,7 +200,8 @@ declare_load_high_on_condition(locfhl, <, m) : [after] "=" #ARGUMENT_ASM_TYPE(after) \ : [testedValue] "r"(testedValue), \ [invertedValue] "r"(invertedValue), \ - [overrideValue] "r"(overrideValue)); \ + [overrideValue] "r"(overrideValue) \ + : "cc"); \ \ SMART_RETURN_R64(TESTED_INSTRUCTION); \ } @@ -235,7 +237,8 @@ declare_store_high_on_condition(stocfhl, <, m) : [after] "=r"(after) \ : [testedValue] "r"(testedValue), \ [invertedValue] "r"(invertedValue), \ - "[after]"(after)); \ + "[after]"(after) \ + : "cc"); \ \ SMART_RETURN_R64(TESTED_INSTRUCTION); \ } @@ -273,7 +276,8 @@ declare_load_halfword_immediate_on_condition(locghil, uint64_t, <, r) : [after] "=r"(after) \ : [testedValue] "r"(testedValue), \ [invertedValue] "r"(invertedValue), \ - "[after]"(after)); \ + "[after]"(after) \ + : "cc"); \ \ SMART_RETURN_R64(TESTED_INSTRUCTION); \ } @@ -314,7 +318,8 @@ static void test_all_locfh() __asm__ volatile("lcbb %[after], %[testedPointer], " #M_FIELD \ "\n" \ : [after] "=r"(after) \ - : [testedPointer] "m"(*testedPointer)); \ + : [testedPointer] "m"(*testedPointer) \ + : "cc"); \ \ SMART_RETURN_R64(lcbb##M_FIELD); \ } diff --git a/none/tests/s390x/misc3.c b/none/tests/s390x/misc3.c index ae6e8d4c2b..fbf4cae682 100644 --- a/none/tests/s390x/misc3.c +++ b/none/tests/s390x/misc3.c @@ -106,7 +106,7 @@ static int test_all_popcnt() [out1] "+d" (out1) \ : [a] "d" (a), \ [b] "d" (b) \ - : ); \ + : "cc"); \ \ printf("\t%016lx %016lx -> %016lx %016lx\n", \ a, b, out0, out1); \ diff --git a/none/tests/s390x/pfpo.c b/none/tests/s390x/pfpo.c index dd4fcec7d1..1bfd8896c7 100644 --- a/none/tests/s390x/pfpo.c +++ b/none/tests/s390x/pfpo.c @@ -36,7 +36,8 @@ "ipm %2\n\t" \ "srl %2,28\n\t" \ :"=f"(dst_reg), "=d"(ret), "=d" (cc) \ - : "f"(src_reg), "d"(fn)); \ + : "f"(src_reg), "d"(fn) \ + : "cc"); \ ret_code = ret; \ dst_reg; \ }) diff --git a/none/tests/s390x/tre.c b/none/tests/s390x/tre.c index dd2e1efce8..da0e38d3e0 100644 --- a/none/tests/s390x/tre.c +++ b/none/tests/s390x/tre.c @@ -31,7 +31,7 @@ tre_regs tre(uint8_t *codepage, uint8_t *addr, uint64_t len, uint8_t test_byte) " ipm %0\n" " srl %0,28\n" :"=d"(cc),"+&d"(a1) - :"d"(a2),"d"(param),"d"(l1),"d"(test_byte): "memory" ); + :"d"(a2),"d"(param),"d"(l1),"d"(test_byte): "cc", "memory" ); regs.addr = a1; regs.len = l1; diff --git a/none/tests/s390x/troo.c b/none/tests/s390x/troo.c index 374f3cd20c..f62ad0d057 100644 --- a/none/tests/s390x/troo.c +++ b/none/tests/s390x/troo.c @@ -41,7 +41,7 @@ troo_regs tr(uint8_t *addr, uint8_t *codepage, uint8_t *dest, uint64_t len, " srl %0,28\n" : "=d"(cc),"+&d"(desaddr) : "d" (srcaddr),"d"(test_byte),"d" (codepage2),"d"(length) - : "memory" ); + : "cc", "memory" ); regs.srcaddr = srcaddr; regs.len = length; diff --git a/none/tests/s390x/trot.c b/none/tests/s390x/trot.c index b4b44c86ae..76072c0277 100644 --- a/none/tests/s390x/trot.c +++ b/none/tests/s390x/trot.c @@ -42,7 +42,7 @@ trot_regs tr(uint8_t *addr, uint16_t *codepage, uint16_t *dest, uint64_t len, " srl %0,28\n" : "=d"(cc),"+&d"(desaddr) : "d" (srcaddr),"d"(test_byte),"d" (codepage2),"d"(length) - : "memory" ); + : "cc", "memory" ); regs.srcaddr = srcaddr; regs.len = length; diff --git a/none/tests/s390x/trto.c b/none/tests/s390x/trto.c index b79721d771..f8ff97645a 100644 --- a/none/tests/s390x/trto.c +++ b/none/tests/s390x/trto.c @@ -41,7 +41,7 @@ trto_regs tr(uint16_t *addr, uint16_t *codepage, uint8_t *dest, uint64_t len, " srl %0,28\n" : "=d"(cc),"+&d"(desaddr) : "d" (srcaddr),"d"(test_byte),"d" (codepage2),"d"(length) - : "memory" ); + : "cc", "memory" ); regs.srcaddr = srcaddr; regs.len = length; diff --git a/none/tests/s390x/trtt.c b/none/tests/s390x/trtt.c index e9cb89902c..c59c6416e6 100644 --- a/none/tests/s390x/trtt.c +++ b/none/tests/s390x/trtt.c @@ -42,7 +42,7 @@ trtt_regs tr(uint16_t *addr, uint16_t *codepage, uint16_t *dest, uint64_t len, " srl %0,28\n" : "=d"(cc),"+d"(desaddr),"+d"(srcaddr) : "d"(test_byte),"d" (codepage2),"d"(length) - : "memory" ); + : "cc", "memory" ); regs.srcaddr = srcaddr; regs.len = length; diff --git a/none/tests/s390x/xc.c b/none/tests/s390x/xc.c index 9c81b59f2c..86dda352d6 100644 --- a/none/tests/s390x/xc.c +++ b/none/tests/s390x/xc.c @@ -10,7 +10,7 @@ void test_oc(void) printf("\nOC:\n"); asm volatile ("oc %O0(1,%R0),%0\n"::"Q" (*zero), - "Q"(*zero):"memory"); + "Q"(*zero):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(zero, 2); @@ -28,12 +28,12 @@ void test_nc(void) printf("\nNC:\n"); asm volatile ("nc %O0(1,%R0),%0\n"::"Q" (*zero), - "Q"(*zero):"memory"); + "Q"(*zero):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(zero, 2); asm volatile ("nc %O0(19,%R0),%1\n"::"Q" (*buf1), - "Q"(*buf2):"memory"); + "Q"(*buf2):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(buf1, 20); } @@ -54,22 +54,22 @@ void test_xc(void) printf("\nXC:\n"); asm volatile ("xc %O0(1,%R0),%0\n"::"Q" (*zero), - "Q"(*zero):"memory"); + "Q"(*zero):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(zero, 4); asm volatile ("xc %O0(10,%R0),%0\n"::"Q" (*zero), - "Q"(*zero):"memory"); + "Q"(*zero):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(zero, 12); asm volatile ("xc %O0(100,%R0),%0\n"::"Q" (*zero), - "Q"(*zero):"memory"); + "Q"(*zero):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(zero, 102); asm volatile ("xc %O0(256,%R0),%0\n"::"Q" (*zero), - "Q"(*zero):"memory"); + "Q"(*zero):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(zero, 257); @@ -78,15 +78,15 @@ void test_xc(void) "ex 1,0(2)\n" "j 2f\n" "1: xc 260(1,%0),260(%0)\n" - "2:\n"::"a" (zero), "a"(zero):"memory", "1", "2"); + "2:\n"::"a" (zero), "a"(zero):"cc","memory", "1", "2"); printf("CC:%d\n", get_cc()); dump_field(zero + 260, 30); asm volatile ("xc 0(19,%0),0(%1)\n"::"a" (buf1), - "a"(buf2):"memory"); + "a"(buf2):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(buf1, 20); - asm volatile ("xc 0(10,%0),0(%0)\n"::"a" (buf3):"memory"); + asm volatile ("xc 0(10,%0),0(%0)\n"::"a" (buf3):"cc","memory"); printf("CC:%d\n", get_cc()); dump_field(buf3, 20); |
|
From: Andreas A. <ar...@so...> - 2021-10-04 12:51:10
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=ebfbc9541753b55fb1b22ba762571f80e4a497f7 commit ebfbc9541753b55fb1b22ba762571f80e4a497f7 Author: Andreas Arnez <ar...@li...> Date: Fri Sep 24 20:06:39 2021 +0200 s390x: Fix compile warnings in test cases Some GCC versions emit the following warnings for some s390x-specific test cases: warning: listing the stack pointer register '15' in a clobber list is deprecated warning: this 'else' clause does not guard... [-Wmisleading-indentation] ...this statement, but... Fix these. Most of inline assemblies declaring r15 as clobbered do not actually change its value. Only in stmg_wrap() it becomes necessary to save and restore r15. Diff: --- none/tests/s390x/cgij.c | 16 ++++++++-------- none/tests/s390x/cgrj.c | 16 ++++++++-------- none/tests/s390x/cij.c | 16 ++++++++-------- none/tests/s390x/clgij.c | 16 ++++++++-------- none/tests/s390x/clgrj.c | 16 ++++++++-------- none/tests/s390x/clij.c | 16 ++++++++-------- none/tests/s390x/clrj.c | 16 ++++++++-------- none/tests/s390x/crj.c | 16 ++++++++-------- none/tests/s390x/cu42.c | 3 ++- none/tests/s390x/stmg.c | 30 +++++++++++------------------- 10 files changed, 77 insertions(+), 84 deletions(-) diff --git a/none/tests/s390x/cgij.c b/none/tests/s390x/cgij.c index 962e56efb5..799e4240b2 100644 --- a/none/tests/s390x/cgij.c +++ b/none/tests/s390x/cgij.c @@ -35,7 +35,7 @@ void compare_never(int64_t value) "brasl 14,if_not_taken\n\t" "j 0f\n\t" "brasl 14,if_taken\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -49,7 +49,7 @@ void compare_always(int64_t value) "brasl 14,if_not_taken\n\t" "j 0f\n\t" "brasl 14,if_taken\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -63,7 +63,7 @@ void compare_le42(int64_t value) "brasl 14,if_gt\n\t" "j 0f\n\t" "brasl 14,if_le\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -77,7 +77,7 @@ void compare_ge42(int64_t value) "brasl 14,if_lt\n\t" "j 0f\n\t" "brasl 14,if_ge\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -91,7 +91,7 @@ void compare_gt42(int64_t value) "brasl 14,if_le\n\t" "j 0f\n\t" "brasl 14,if_gt\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -105,7 +105,7 @@ void compare_lt42(int64_t value) "brasl 14,if_ge\n\t" "j 0f\n\t" "brasl 14,if_lt\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -119,7 +119,7 @@ void compare_eq42(int64_t value) "brasl 14,if_ne\n\t" "j 0f\n\t" "brasl 14,if_eq\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -133,7 +133,7 @@ void compare_ne42(int64_t value) "brasl 14,if_eq\n\t" "j 0f\n\t" "brasl 14,if_ne\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } diff --git a/none/tests/s390x/cgrj.c b/none/tests/s390x/cgrj.c index f269918402..3a5abd336b 100644 --- a/none/tests/s390x/cgrj.c +++ b/none/tests/s390x/cgrj.c @@ -37,7 +37,7 @@ void compare_never(int64_t value1, int64_t value2) "j 0f\n\t" "brasl 14,if_taken\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -53,7 +53,7 @@ void compare_always(int64_t value1, int64_t value2) "j 0f\n\t" "brasl 14,if_taken\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -69,7 +69,7 @@ void compare_le(int64_t value1, int64_t value2) "j 0f\n\t" "brasl 14,if_le\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -85,7 +85,7 @@ void compare_ge(int64_t value1, int64_t value2) "j 0f\n\t" "brasl 14,if_ge\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -101,7 +101,7 @@ void compare_gt(int64_t value1, int64_t value2) "j 0f\n\t" "brasl 14,if_gt\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -117,7 +117,7 @@ void compare_lt(int64_t value1, int64_t value2) "j 0f\n\t" "brasl 14,if_lt\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -133,7 +133,7 @@ void compare_eq(int64_t value1, int64_t value2) "j 0f\n\t" "brasl 14,if_eq\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -149,7 +149,7 @@ void compare_ne(int64_t value1, int64_t value2) "j 0f\n\t" "brasl 14,if_ne\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } diff --git a/none/tests/s390x/cij.c b/none/tests/s390x/cij.c index 4f2913e89b..34e24d0ce9 100644 --- a/none/tests/s390x/cij.c +++ b/none/tests/s390x/cij.c @@ -35,7 +35,7 @@ void compare_never(int32_t value) "brasl 14,if_not_taken\n\t" "j 0f\n\t" "brasl 14,if_taken\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -49,7 +49,7 @@ void compare_always(int32_t value) "brasl 14,if_not_taken\n\t" "j 0f\n\t" "brasl 14,if_taken\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -63,7 +63,7 @@ void compare_le42(int32_t value) "brasl 14,if_gt\n\t" "j 0f\n\t" "brasl 14,if_le\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -77,7 +77,7 @@ void compare_ge42(int32_t value) "brasl 14,if_lt\n\t" "j 0f\n\t" "brasl 14,if_ge\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -91,7 +91,7 @@ void compare_gt42(int32_t value) "brasl 14,if_le\n\t" "j 0f\n\t" "brasl 14,if_gt\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -105,7 +105,7 @@ void compare_lt42(int32_t value) "brasl 14,if_ge\n\t" "j 0f\n\t" "brasl 14,if_lt\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -119,7 +119,7 @@ void compare_eq42(int32_t value) "brasl 14,if_ne\n\t" "j 0f\n\t" "brasl 14,if_eq\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -133,7 +133,7 @@ void compare_ne42(int32_t value) "brasl 14,if_eq\n\t" "j 0f\n\t" "brasl 14,if_ne\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } diff --git a/none/tests/s390x/clgij.c b/none/tests/s390x/clgij.c index 87d3a3a367..7cfd509852 100644 --- a/none/tests/s390x/clgij.c +++ b/none/tests/s390x/clgij.c @@ -35,7 +35,7 @@ void compare_never(uint64_t value) "brasl 14,if_not_taken\n\t" "j 0f\n\t" "brasl 14,if_taken\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -49,7 +49,7 @@ void compare_always(uint64_t value) "brasl 14,if_not_taken\n\t" "j 0f\n\t" "brasl 14,if_taken\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -63,7 +63,7 @@ void compare_le42(uint64_t value) "brasl 14,if_gt\n\t" "j 0f\n\t" "brasl 14,if_le\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -77,7 +77,7 @@ void compare_ge42(uint64_t value) "brasl 14,if_lt\n\t" "j 0f\n\t" "brasl 14,if_ge\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -91,7 +91,7 @@ void compare_gt42(uint64_t value) "brasl 14,if_le\n\t" "j 0f\n\t" "brasl 14,if_gt\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -105,7 +105,7 @@ void compare_lt42(uint64_t value) "brasl 14,if_ge\n\t" "j 0f\n\t" "brasl 14,if_lt\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -119,7 +119,7 @@ void compare_eq42(uint64_t value) "brasl 14,if_ne\n\t" "j 0f\n\t" "brasl 14,if_eq\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -133,7 +133,7 @@ void compare_ne42(uint64_t value) "brasl 14,if_eq\n\t" "j 0f\n\t" "brasl 14,if_ne\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } diff --git a/none/tests/s390x/clgrj.c b/none/tests/s390x/clgrj.c index de6b825025..c7917df505 100644 --- a/none/tests/s390x/clgrj.c +++ b/none/tests/s390x/clgrj.c @@ -37,7 +37,7 @@ void compare_never(uint64_t value1, uint64_t value2) "j 0f\n\t" "brasl 14,if_taken\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -53,7 +53,7 @@ void compare_always(uint64_t value1, uint64_t value2) "j 0f\n\t" "brasl 14,if_taken\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -69,7 +69,7 @@ void compare_le(uint64_t value1, uint64_t value2) "j 0f\n\t" "brasl 14,if_le\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -85,7 +85,7 @@ void compare_ge(uint64_t value1, uint64_t value2) "j 0f\n\t" "brasl 14,if_ge\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -101,7 +101,7 @@ void compare_gt(uint64_t value1, uint64_t value2) "j 0f\n\t" "brasl 14,if_gt\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -117,7 +117,7 @@ void compare_lt(uint64_t value1, uint64_t value2) "j 0f\n\t" "brasl 14,if_lt\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -133,7 +133,7 @@ void compare_eq(uint64_t value1, uint64_t value2) "j 0f\n\t" "brasl 14,if_eq\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -149,7 +149,7 @@ void compare_ne(uint64_t value1, uint64_t value2) "j 0f\n\t" "brasl 14,if_ne\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } diff --git a/none/tests/s390x/clij.c b/none/tests/s390x/clij.c index 3b62e1c08b..dc627cdcc9 100644 --- a/none/tests/s390x/clij.c +++ b/none/tests/s390x/clij.c @@ -35,7 +35,7 @@ void compare_never(uint32_t value) "brasl 14,if_not_taken\n\t" "j 0f\n\t" "brasl 14,if_taken\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -49,7 +49,7 @@ void compare_always(uint32_t value) "brasl 14,if_not_taken\n\t" "j 0f\n\t" "brasl 14,if_taken\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -63,7 +63,7 @@ void compare_le42(uint32_t value) "brasl 14,if_gt\n\t" "j 0f\n\t" "brasl 14,if_le\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -77,7 +77,7 @@ void compare_ge42(uint32_t value) "brasl 14,if_lt\n\t" "j 0f\n\t" "brasl 14,if_ge\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -91,7 +91,7 @@ void compare_gt42(uint32_t value) "brasl 14,if_le\n\t" "j 0f\n\t" "brasl 14,if_gt\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -105,7 +105,7 @@ void compare_lt42(uint32_t value) "brasl 14,if_ge\n\t" "j 0f\n\t" "brasl 14,if_lt\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -119,7 +119,7 @@ void compare_eq42(uint32_t value) "brasl 14,if_ne\n\t" "j 0f\n\t" "brasl 14,if_eq\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } @@ -133,7 +133,7 @@ void compare_ne42(uint32_t value) "brasl 14,if_eq\n\t" "j 0f\n\t" "brasl 14,if_ne\n\t" - "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER); + "0: aghi 15,160\n\t" : : "d"(val) : BRASLCLOBBER); return; } diff --git a/none/tests/s390x/clrj.c b/none/tests/s390x/clrj.c index 4e3454f4dc..ba42b948db 100644 --- a/none/tests/s390x/clrj.c +++ b/none/tests/s390x/clrj.c @@ -37,7 +37,7 @@ void compare_never(uint32_t value1, uint32_t value2) "j 0f\n\t" "brasl 14,if_taken\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -53,7 +53,7 @@ void compare_always(uint32_t value1, uint32_t value2) "j 0f\n\t" "brasl 14,if_taken\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -69,7 +69,7 @@ void compare_le(uint32_t value1, uint32_t value2) "j 0f\n\t" "brasl 14,if_le\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -85,7 +85,7 @@ void compare_ge(uint32_t value1, uint32_t value2) "j 0f\n\t" "brasl 14,if_ge\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -101,7 +101,7 @@ void compare_gt(uint32_t value1, uint32_t value2) "j 0f\n\t" "brasl 14,if_gt\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -117,7 +117,7 @@ void compare_lt(uint32_t value1, uint32_t value2) "j 0f\n\t" "brasl 14,if_lt\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -133,7 +133,7 @@ void compare_eq(uint32_t value1, uint32_t value2) "j 0f\n\t" "brasl 14,if_eq\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -149,7 +149,7 @@ void compare_ne(uint32_t value1, uint32_t value2) "j 0f\n\t" "brasl 14,if_ne\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } diff --git a/none/tests/s390x/crj.c b/none/tests/s390x/crj.c index 936b70cae8..df3bd2009a 100644 --- a/none/tests/s390x/crj.c +++ b/none/tests/s390x/crj.c @@ -37,7 +37,7 @@ void compare_never(int32_t value1, int32_t value2) "j 0f\n\t" "brasl 14,if_taken\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -53,7 +53,7 @@ void compare_always(int32_t value1, int32_t value2) "j 0f\n\t" "brasl 14,if_taken\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -69,7 +69,7 @@ void compare_le(int32_t value1, int32_t value2) "j 0f\n\t" "brasl 14,if_le\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -85,7 +85,7 @@ void compare_ge(int32_t value1, int32_t value2) "j 0f\n\t" "brasl 14,if_ge\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -101,7 +101,7 @@ void compare_gt(int32_t value1, int32_t value2) "j 0f\n\t" "brasl 14,if_gt\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -117,7 +117,7 @@ void compare_lt(int32_t value1, int32_t value2) "j 0f\n\t" "brasl 14,if_lt\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -133,7 +133,7 @@ void compare_eq(int32_t value1, int32_t value2) "j 0f\n\t" "brasl 14,if_eq\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } @@ -149,7 +149,7 @@ void compare_ne(int32_t value1, int32_t value2) "j 0f\n\t" "brasl 14,if_ne\n\t" "0: aghi 15,160\n\t" - : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER); + : : "d"(val1), "d"(val2) : BRASLCLOBBER); return; } diff --git a/none/tests/s390x/cu42.c b/none/tests/s390x/cu42.c index 2b41d76b30..91e7e9df54 100644 --- a/none/tests/s390x/cu42.c +++ b/none/tests/s390x/cu42.c @@ -97,11 +97,12 @@ run_test(uint16_t *dst, uint64_t dst_len, uint32_t *src, uint64_t src_len) printf("UTF16: "); if (dst_len - result.len1 == 0) printf(" <none>"); - else + else { assert((dst_len - result.len1) % 2 == 0); for (i = 0; i < (dst_len - result.len1) / 2; ++i) { printf(" %04x", dst[i]); } + } printf("\n"); printf(" cc = %d\n", result.cc); diff --git a/none/tests/s390x/stmg.c b/none/tests/s390x/stmg.c index 38ec4f6d97..21765f3854 100644 --- a/none/tests/s390x/stmg.c +++ b/none/tests/s390x/stmg.c @@ -1,4 +1,4 @@ -#include <unistd.h> +#include <stdio.h> char base[] ="0123456789012345678901234567890123456789"; @@ -16,44 +16,36 @@ stmg_no_wrap(void) : "a" (base) : "5", "6", "7"); /* Write out BUF */ - asm volatile( "lghi 2, 1\n\t" // stdout - "lgr 3, %0\n\t" // buf - "lghi 4, 24\n\t" // len = 3*8 bytes - "svc 4\n\t" - : : "a" (buf) - : "2", "3", "4"); + fwrite(buf, sizeof(buf), 1, stdout); } void stmg_wrap(void) { - char buf[64]; + char buf[32]; /* Wrap around case; copies 32 bytes from BASE to BUF */ - asm volatile( "lg 15, 0(%1)\n\t" + asm volatile( "lgr 3, 15\n\t" /* save stack pointer */ "lg 0, 8(%1)\n\t" "lg 1, 16(%1)\n\t" "lg 2, 24(%1)\n\t" + "lg 15, 0(%1)\n\t" "stmg 15, 2, %0\n\t" - :"=m" (buf) + "lgr 15, 3" /* restore stack pointer */ + :"=S" (buf) : "a" (base) - : "15", "0", "1", "2"); + : "0", "1", "2", "3"); /* Write out BUF */ - asm volatile( "lghi 2, 1\n\t" // stdout - "lgr 3, %0\n\t" // buf - "lghi 4, 32\n\t" // len = 4*8 bytes - "svc 4\n\t" - : : "a" (buf) - : "2", "3", "4"); + fwrite(buf, sizeof(buf), 1, stdout); } int main(void) { stmg_no_wrap(); - write(1, "\n", 1); + putchar('\n'); stmg_wrap(); - write(1, "\n", 1); + putchar('\n'); return 0; } |
|
From: Mark W. <ma...@so...> - 2021-10-04 09:37:11
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=9aa51a6e25f21b990cbb75b8e3f486653e6173e4 commit 9aa51a6e25f21b990cbb75b8e3f486653e6173e4 Author: Mark Wielaard <ma...@kl...> Date: Mon Oct 4 11:34:05 2021 +0200 Hook up acct syscall for amd64, mips32, ppc32 and ppc64 There was already a generic linux wrapper for acct, but it was not hooked up for all linux arches. Diff: --- coregrind/m_syswrap/syswrap-amd64-linux.c | 2 +- coregrind/m_syswrap/syswrap-mips32-linux.c | 2 +- coregrind/m_syswrap/syswrap-ppc32-linux.c | 2 +- coregrind/m_syswrap/syswrap-ppc64-linux.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c index 3b2dcb8e30..46d6b5bebd 100644 --- a/coregrind/m_syswrap/syswrap-amd64-linux.c +++ b/coregrind/m_syswrap/syswrap-amd64-linux.c @@ -665,7 +665,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_setrlimit, sys_setrlimit), // 160 GENX_(__NR_chroot, sys_chroot), // 161 GENX_(__NR_sync, sys_sync), // 162 - // (__NR_acct, sys_acct), // 163 + GENX_(__NR_acct, sys_acct), // 163 GENX_(__NR_settimeofday, sys_settimeofday), // 164 LINX_(__NR_mount, sys_mount), // 165 diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c index b62129111b..f957c6f583 100644 --- a/coregrind/m_syswrap/syswrap-mips32-linux.c +++ b/coregrind/m_syswrap/syswrap-mips32-linux.c @@ -815,7 +815,7 @@ static SyscallTableEntry syscall_main_table[] = { //.. // (__NR_signal, sys_signal), // 48 GENX_ (__NR_geteuid, sys_geteuid), // 49 GENX_ (__NR_getegid, sys_getegid), // 50 - //.. GENX_(__NR_acct, sys_acct), // 51 + GENX_ (__NR_acct, sys_acct), // 51 LINX_ (__NR_umount2, sys_umount), // 52 //.. GENX_(__NR_lock, sys_ni_syscall), // 53 LINXY (__NR_ioctl, sys_ioctl), // 54 diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c index 1e2efc6777..7f9c9fa9bc 100644 --- a/coregrind/m_syswrap/syswrap-ppc32-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c @@ -672,7 +672,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_geteuid, sys_geteuid), // 49 GENX_(__NR_getegid, sys_getegid), // 50 -//.. GENX_(__NR_acct, sys_acct), // 51 + GENX_(__NR_acct, sys_acct), // 51 LINX_(__NR_umount2, sys_umount), // 52 //.. GENX_(__NR_lock, sys_ni_syscall), // 53 LINXY(__NR_ioctl, sys_ioctl), // 54 diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c index f1a88f7ceb..43cde73271 100644 --- a/coregrind/m_syswrap/syswrap-ppc64-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c @@ -661,7 +661,7 @@ static SyscallTableEntry syscall_table[] = { GENX_(__NR_geteuid, sys_geteuid), // 49 GENX_(__NR_getegid, sys_getegid), // 50 -// _____(__NR_acct, sys_acct), // 51 + GENX_(__NR_acct, sys_acct), // 51 LINX_(__NR_umount2, sys_umount), // 52 // _____(__NR_lock, sys_lock), // 53 LINXY(__NR_ioctl, sys_ioctl), // 54 |