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
|
2
(27) |
3
|
4
|
|
5
|
6
(2) |
7
|
8
|
9
(2) |
10
|
11
|
|
12
|
13
|
14
(12) |
15
(4) |
16
(3) |
17
(2) |
18
(3) |
|
19
(2) |
20
|
21
|
22
(9) |
23
(3) |
24
(2) |
25
(5) |
|
26
(1) |
27
(1) |
28
(6) |
29
(3) |
30
|
31
|
|
|
From: Mark W. <ma...@so...> - 2020-01-25 17:41:23
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=fe6805efc1b6db0cfa5f1cd5fb1854775cbfa31a commit fe6805efc1b6db0cfa5f1cd5fb1854775cbfa31a Author: Mark Wielaard <ma...@kl...> Date: Sat Jan 25 18:34:58 2020 +0100 x86 and amd64 tests: Use .text and .previous around all top-level asm. GCC10 defaults to -fno-common which exposes some latent bugs in some of the top-level asm code in various .c test files. Some of the tests started to segfault (even if not run under valgrind). Such code needs to be wrapped inside a .text and a .previous asm statement to make sure the code is generated in the .text code section and to make sure the compiler doesn't lose track of the section currently being used to generate data or code in. Without it code might be generated inside a data section or the other way around. Diff: --- memcheck/tests/amd64/shr_edx.c | 2 ++ none/tests/amd64/fxtract.c | 4 +++- none/tests/amd64/jrcxz.c | 4 ++++ none/tests/amd64/looper.c | 3 +++ none/tests/amd64/sbbmisc.c | 20 ++++++++++++++++++++ none/tests/amd64/shrld.c | 12 ++++++++++++ none/tests/amd64/slahf-amd64.c | 6 ++++++ none/tests/x86/cmpxchg8b.c | 2 ++ none/tests/x86/fxtract.c | 4 +++- none/tests/x86/lahf.c | 4 ++++ none/tests/x86/looper.c | 3 +++ none/tests/x86/sbbmisc.c | 20 ++++++++++++++++++++ 12 files changed, 82 insertions(+), 2 deletions(-) diff --git a/memcheck/tests/amd64/shr_edx.c b/memcheck/tests/amd64/shr_edx.c index f8746af..bed2894 100644 --- a/memcheck/tests/amd64/shr_edx.c +++ b/memcheck/tests/amd64/shr_edx.c @@ -8,6 +8,7 @@ ULong result; extern void shrl32_with_0x10 ( void ); asm("\n" +".text\n" "shrl32_with_0x10:\n" "\tpushq %rdx\n" "\tmovq data, %rdx\n" @@ -20,6 +21,7 @@ asm("\n" "\tshrl32_with_0x10_jump:\n" "\tmov $0xdeaddead, %edx\n" "\tjmp shrl32_with_0x10_cont\n" +".previous\n" ); diff --git a/none/tests/amd64/fxtract.c b/none/tests/amd64/fxtract.c index 4dff2a1..f4dfd36 100644 --- a/none/tests/amd64/fxtract.c +++ b/none/tests/amd64/fxtract.c @@ -6,6 +6,7 @@ double arg, res1, res2; extern void do_fxtract ( void ); asm("\n" +".text\n" ".global do_fxtract\n" "do_fxtract:\n" "\tfinit\n" @@ -13,7 +14,8 @@ asm("\n" "\tfxtract\n" "\tfstpl res1\n" "\tfstpl res2\n" -"\tret" +"\tret\n" +".previous\n" ); void try ( double x ) diff --git a/none/tests/amd64/jrcxz.c b/none/tests/amd64/jrcxz.c index dad088f..4d70734 100644 --- a/none/tests/amd64/jrcxz.c +++ b/none/tests/amd64/jrcxz.c @@ -8,6 +8,7 @@ ULong arg64, res64; extern void foo64 ( void ); asm("\n" +".text\n" "foo64:\n" "\tpushq %rcx\n" @@ -25,6 +26,7 @@ asm("\n" "\tpopq %rcx\n" "\tret\n" +".previous\n" ); @@ -32,6 +34,7 @@ UInt arg32, res32; extern void foo32 ( void ); asm("\n" +".text\n" "foo32:\n" "\tpushq %rcx\n" @@ -49,6 +52,7 @@ asm("\n" "\tpopq %rcx\n" "\tret\n" +".previous\n" ); diff --git a/none/tests/amd64/looper.c b/none/tests/amd64/looper.c index cb7f5cb..5864642 100644 --- a/none/tests/amd64/looper.c +++ b/none/tests/amd64/looper.c @@ -22,6 +22,7 @@ asm("\n" "\tmovq %rax, res\n" "\tpopq %rcx\n" "\tret\n" +".previous\n" ); extern void loop_ne ( void ); @@ -42,6 +43,7 @@ asm("\n" "\tmovq %rax, res\n" "\tpopq %rcx\n" "\tret\n" +".previous\n" ); extern void loop_e ( void ); @@ -66,6 +68,7 @@ asm("\n" "\tmovq %rax, res\n" "\tpopq %rcx\n" "\tret\n" +".previous\n" ); int main ( void ) diff --git a/none/tests/amd64/sbbmisc.c b/none/tests/amd64/sbbmisc.c index dd70efa..1024bfd 100644 --- a/none/tests/amd64/sbbmisc.c +++ b/none/tests/amd64/sbbmisc.c @@ -9,6 +9,7 @@ int in_l, out_l1, out_l2; extern void sbb_ib_al ( void ); asm("\n" +".text\n" VG_SYM(sbb_ib_al) ":\n" #ifndef VGP_amd64_darwin @@ -37,11 +38,13 @@ VG_SYM(sbb_ib_al) ":\n" #endif "\tretq\n" +".previous\n" ); extern void sbb_iw_ax ( void ); asm("\n" +".text\n" VG_SYM(sbb_iw_ax) ":\n" #ifndef VGP_amd64_darwin @@ -69,11 +72,13 @@ VG_SYM(sbb_iw_ax) ":\n" #endif "\tretq\n" +".previous\n" ); extern void sbb_il_eax ( void ); asm("\n" +".text\n" VG_SYM(sbb_il_eax) ":\n" #ifndef VGP_amd64_darwin @@ -101,11 +106,13 @@ VG_SYM(sbb_il_eax) ":\n" #endif "\tretq\n" +".previous\n" ); extern void sbb_eb_gb ( void ); asm("\n" +".text\n" VG_SYM(sbb_eb_gb) ":\n" #ifndef VGP_amd64_darwin @@ -135,11 +142,13 @@ VG_SYM(sbb_eb_gb) ":\n" #endif "\tretq\n" +".previous\n" ); extern void sbb_eb_gb_2 ( void ); asm("\n" +".text\n" VG_SYM(sbb_eb_gb_2) ":\n" "\tpushq %rcx\n" @@ -173,11 +182,13 @@ VG_SYM(sbb_eb_gb_2) ":\n" "\tpopq %rcx\n" "\tretq\n" +".previous\n" ); extern void adc_eb_gb ( void ); asm("\n" +".text\n" VG_SYM(adc_eb_gb) ":\n" #ifndef VGP_amd64_darwin @@ -207,11 +218,13 @@ VG_SYM(adc_eb_gb) ":\n" #endif "\tretq\n" +".previous\n" ); extern void adc_eb_gb_2 ( void ); asm("\n" +".text\n" VG_SYM(adc_eb_gb_2) ":\n" "\tpushq %rcx\n" @@ -245,10 +258,12 @@ VG_SYM(adc_eb_gb_2) ":\n" "\tpopq %rcx\n" "\tretq\n" +".previous\n" ); extern void adc_ib_al ( void ); asm("\n" +".text\n" VG_SYM(adc_ib_al) ":\n" #ifndef VGP_amd64_darwin @@ -276,11 +291,13 @@ VG_SYM(adc_ib_al) ":\n" #endif "\tretq\n" +".previous\n" ); extern void adc_iw_ax ( void ); asm("\n" +".text\n" VG_SYM(adc_iw_ax) ":\n" #ifndef VGP_amd64_darwin @@ -308,11 +325,13 @@ VG_SYM(adc_iw_ax) ":\n" #endif "\tretq\n" +".previous\n" ); extern void adc_il_eax ( void ); asm("\n" +".text\n" VG_SYM(adc_il_eax) ":\n" #ifndef VGP_amd64_darwin @@ -340,6 +359,7 @@ VG_SYM(adc_il_eax) ":\n" #endif "\tretq\n" +".previous\n" ); diff --git a/none/tests/amd64/shrld.c b/none/tests/amd64/shrld.c index ca9d699..d77cfbd 100644 --- a/none/tests/amd64/shrld.c +++ b/none/tests/amd64/shrld.c @@ -30,6 +30,7 @@ ULong flags_out; extern void shld64 ( void ); asm("\n" +".text\n" "shld64:\n" "\tpushq %rsi\n" "\tpushq %r11\n" @@ -47,10 +48,12 @@ asm("\n" "\tpopq %r11\n" "\tpopq %rsi\n" "\tret\n" +".previous\n" ); extern void shld32 ( void ); asm("\n" +".text\n" "shld32:\n" "\tpushq %rsi\n" "\tpushq %r11\n" @@ -68,10 +71,12 @@ asm("\n" "\tpopq %r11\n" "\tpopq %rsi\n" "\tret\n" +".previous\n" ); extern void shld16 ( void ); asm("\n" +".text\n" "shld16:\n" "\tpushq %rsi\n" "\tpushq %r11\n" @@ -89,11 +94,13 @@ asm("\n" "\tpopq %r11\n" "\tpopq %rsi\n" "\tret\n" +".previous\n" ); extern void shrd64 ( void ); asm("\n" +".text\n" "shrd64:\n" "\tpushq %rsi\n" "\tpushq %r11\n" @@ -111,10 +118,12 @@ asm("\n" "\tpopq %r11\n" "\tpopq %rsi\n" "\tret\n" +".previous\n" ); extern void shrd32 ( void ); asm("\n" +".text\n" "shrd32:\n" "\tpushq %rsi\n" "\tpushq %r11\n" @@ -132,10 +141,12 @@ asm("\n" "\tpopq %r11\n" "\tpopq %rsi\n" "\tret\n" +".previous\n" ); extern void shrd16 ( void ); asm("\n" +".text\n" "shrd16:\n" "\tpushq %rsi\n" "\tpushq %r11\n" @@ -153,6 +164,7 @@ asm("\n" "\tpopq %r11\n" "\tpopq %rsi\n" "\tret\n" +".previous\n" ); diff --git a/none/tests/amd64/slahf-amd64.c b/none/tests/amd64/slahf-amd64.c index 31857ec..361b679 100644 --- a/none/tests/amd64/slahf-amd64.c +++ b/none/tests/amd64/slahf-amd64.c @@ -5,6 +5,7 @@ typedef unsigned long long int ULong; extern ULong lahf_1 ( void ); asm("\n" +".text\n" "lahf_1:\n" "\tpushq $0\n" "\tpopfq\n" @@ -13,10 +14,12 @@ asm("\n" "\tsubq %rax, %rdx\n" "\t.byte 0x9F\n" /* lahf */ "\tret\n" +".previous\n" ); extern ULong lahf_0 ( void ); asm("\n" +".text\n" "lahf_0:\n" "\tpushq $0\n" "\tpopfq\n" @@ -25,16 +28,19 @@ asm("\n" "\tsubq %rax, %rdx\n" "\t.byte 0x9F\n" /* lahf */ "\tret\n" +".previous\n" ); extern ULong sahf_then_lahf ( ULong ); asm("\n" +".text\n" "sahf_then_lahf:\n" "\tmovq %rdi, %rax\n" "\t.byte 0x9E\n" /* sahf */ "\tmovabsq $0, %rax\n" "\t.byte 0x9F\n" /* lahf */ "\tret\n" +".previous\n" ); int main ( void ) diff --git a/none/tests/x86/cmpxchg8b.c b/none/tests/x86/cmpxchg8b.c index 3588840..9ca56af 100644 --- a/none/tests/x86/cmpxchg8b.c +++ b/none/tests/x86/cmpxchg8b.c @@ -14,6 +14,7 @@ UInt zout; extern void foo ( void ); asm("\n" + ".text\n" VG_SYM(foo) ":\n" "\tpushl %eax\n" "\tpushl %ebx\n" @@ -40,6 +41,7 @@ asm("\n" "\tpopl %ebx\n" "\tpopl %eax\n" "\tret\n" + ".previous\n" ); int main ( void ) diff --git a/none/tests/x86/fxtract.c b/none/tests/x86/fxtract.c index 235cda7..f8c9bc4 100644 --- a/none/tests/x86/fxtract.c +++ b/none/tests/x86/fxtract.c @@ -6,13 +6,15 @@ double arg, res1, res2; extern void do_fxtract ( void ); asm("\n" +".text\n" VG_SYM(do_fxtract) ":\n" "\tfinit\n" "\tfldl " VG_SYM(arg) "\n" "\tfxtract\n" "\tfstpl " VG_SYM(res1) "\n" "\tfstpl " VG_SYM(res2) "\n" -"\tret" +"\tret\n" +".previous\n" ); void try ( double x ) diff --git a/none/tests/x86/lahf.c b/none/tests/x86/lahf.c index fc09352..a04c10d 100644 --- a/none/tests/x86/lahf.c +++ b/none/tests/x86/lahf.c @@ -3,6 +3,7 @@ extern int foo_1 ( void ); asm("\n" +".text\n" VG_SYM(foo_1) ":\n" "\tpushl $0\n" "\tpopfl\n" @@ -11,10 +12,12 @@ VG_SYM(foo_1) ":\n" "\tsubl %eax, %edx\n" "\tlahf\n" "\tret\n" +".previous\n" ); extern int foo_0 ( void ); asm("\n" +".text\n" VG_SYM(foo_0) ":\n" "\tpushl $0\n" "\tpopfl\n" @@ -23,6 +26,7 @@ VG_SYM(foo_0) ":\n" "\tsubl %eax, %edx\n" "\tlahf\n" "\tret\n" +".previous\n" ); int main ( void ) diff --git a/none/tests/x86/looper.c b/none/tests/x86/looper.c index 60554ec..7f7ace8 100644 --- a/none/tests/x86/looper.c +++ b/none/tests/x86/looper.c @@ -21,6 +21,7 @@ VG_SYM(loop_plain) ":\n" "\tmovl %eax, " VG_SYM(res) "\n" "\tpopl %ecx\n" "\tret\n" +".previous\n" ); extern void loop_ne ( void ); @@ -40,6 +41,7 @@ VG_SYM(loop_ne) ":\n" "\tmovl %eax, " VG_SYM(res) "\n" "\tpopl %ecx\n" "\tret\n" +".previous\n" ); extern void loop_e ( void ); @@ -63,6 +65,7 @@ VG_SYM(loop_e) ":\n" "\tmovl %eax, " VG_SYM(res) "\n" "\tpopl %ecx\n" "\tret\n" +".previous\n" ); int main ( void ) diff --git a/none/tests/x86/sbbmisc.c b/none/tests/x86/sbbmisc.c index 322d6e1..7c4585d 100644 --- a/none/tests/x86/sbbmisc.c +++ b/none/tests/x86/sbbmisc.c @@ -9,6 +9,7 @@ int in_l, out_l1, out_l2; extern void sbb_ib_al ( void ); asm("\n" +".text\n" VG_SYM(sbb_ib_al) ":\n" "\tmovb " VG_SYM(in_b) ", %al\n" @@ -22,11 +23,13 @@ VG_SYM(sbb_ib_al) ":\n" "\tmovb %al, " VG_SYM(out_b2) "\n" "\tret\n" +".previous\n" ); extern void sbb_iw_ax ( void ); asm("\n" +".text\n" VG_SYM(sbb_iw_ax) ":\n" "\tmovw " VG_SYM(in_w) ", %ax\n" @@ -40,11 +43,13 @@ VG_SYM(sbb_iw_ax) ":\n" "\tmovw %ax, " VG_SYM(out_w2) "\n" "\tret\n" +".previous\n" ); extern void sbb_il_eax ( void ); asm("\n" +".text\n" VG_SYM(sbb_il_eax) ":\n" "\tmovl " VG_SYM(in_l) ", %eax\n" @@ -58,11 +63,13 @@ VG_SYM(sbb_il_eax) ":\n" "\tmovl %eax, " VG_SYM(out_l2) "\n" "\tret\n" +".previous\n" ); extern void sbb_eb_gb ( void ); asm("\n" +".text\n" VG_SYM(sbb_eb_gb) ":\n" "\tmovb " VG_SYM(in_b) ", %al\n" @@ -76,11 +83,13 @@ VG_SYM(sbb_eb_gb) ":\n" "\tmovb %al, " VG_SYM(out_b2) "\n" "\tret\n" +".previous\n" ); extern void sbb_eb_gb_2 ( void ); asm("\n" +".text\n" VG_SYM(sbb_eb_gb_2) ":\n" "\tpushl %ecx\n" @@ -98,11 +107,13 @@ VG_SYM(sbb_eb_gb_2) ":\n" "\tpopl %ecx\n" "\tret\n" +".previous\n" ); extern void adc_eb_gb ( void ); asm("\n" +".text\n" VG_SYM(adc_eb_gb) ":\n" "\tmovb " VG_SYM(in_b) ", %al\n" @@ -116,11 +127,13 @@ VG_SYM(adc_eb_gb) ":\n" "\tmovb %al, " VG_SYM(out_b2) "\n" "\tret\n" +".previous\n" ); extern void adc_eb_gb_2 ( void ); asm("\n" +".text\n" VG_SYM(adc_eb_gb_2) ":\n" "\tpushl %ecx\n" @@ -138,10 +151,12 @@ VG_SYM(adc_eb_gb_2) ":\n" "\tpopl %ecx\n" "\tret\n" +".previous\n" ); extern void adc_ib_al ( void ); asm("\n" +".text\n" VG_SYM(adc_ib_al) ":\n" "\tmovb " VG_SYM(in_b) ", %al\n" @@ -155,11 +170,13 @@ VG_SYM(adc_ib_al) ":\n" "\tmovb %al, " VG_SYM(out_b2) "\n" "\tret\n" +".previous\n" ); extern void adc_iw_ax ( void ); asm("\n" +".text\n" VG_SYM(adc_iw_ax) ":\n" "\tmovw " VG_SYM(in_w) ", %ax\n" @@ -173,11 +190,13 @@ VG_SYM(adc_iw_ax) ":\n" "\tmovw %ax, " VG_SYM(out_w2) "\n" "\tret\n" +".previous\n" ); extern void adc_il_eax ( void ); asm("\n" +".text\n" VG_SYM(adc_il_eax) ":\n" "\tmovl " VG_SYM(in_l) ", %eax\n" @@ -191,6 +210,7 @@ VG_SYM(adc_il_eax) ":\n" "\tmovl %eax, " VG_SYM(out_l2) "\n" "\tret\n" +".previous\n" ); |
|
From: Mark W. <ma...@so...> - 2020-01-25 16:46:28
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=a9cad5d1338d981269a5389977f396f687d17c41 commit a9cad5d1338d981269a5389977f396f687d17c41 Author: Mark Wielaard <ma...@kl...> Date: Sat Jan 25 17:44:43 2020 +0100 Revert accidentially added changes in commit ce094ba912 These changes were part of my local testing of bug 416667 gcc10 ppc64le impossible constraint in 'asm' in test_isa And shouldn't have been committed yet before review. Diff: --- none/tests/ppc64/test_isa_2_07_part1.c | 10 +++++----- none/tests/ppc64/test_isa_3_0.c | 16 ++++++++-------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/none/tests/ppc64/test_isa_2_07_part1.c b/none/tests/ppc64/test_isa_2_07_part1.c index 0efd39c..187af37 100644 --- a/none/tests/ppc64/test_isa_2_07_part1.c +++ b/none/tests/ppc64/test_isa_2_07_part1.c @@ -384,27 +384,27 @@ static void test_fmrgow (void) // VSX move instructions static void test_mfvsrd (void) { - __asm__ __volatile__ ("mfvsrd %0,%x1" : "=r" (r14) : "wa" (vec_inA)); + __asm__ __volatile__ ("mfvsrd %0,%x1" : "=r" (r14) : "ws" (vec_inA)); }; static void test_mfvsrwz (void) { - __asm__ __volatile__ ("mfvsrwz %0,%x1" : "=r" (r14) : "wa" (vec_inA)); + __asm__ __volatile__ ("mfvsrwz %0,%x1" : "=r" (r14) : "ws" (vec_inA)); }; static void test_mtvsrd (void) { - __asm__ __volatile__ ("mtvsrd %x0,%1" : "=wa" (vec_out) : "r" (r14)); + __asm__ __volatile__ ("mtvsrd %x0,%1" : "=ws" (vec_out) : "r" (r14)); }; static void test_mtvsrwz (void) { - __asm__ __volatile__ ("mtvsrwz %x0,%1" : "=wa" (vec_out) : "r" (r14)); + __asm__ __volatile__ ("mtvsrwz %x0,%1" : "=ws" (vec_out) : "r" (r14)); }; static void test_mtvsrwa (void) { - __asm__ __volatile__ ("mtvsrwa %x0,%1" : "=wa" (vec_out) : "r" (r14)); + __asm__ __volatile__ ("mtvsrwa %x0,%1" : "=ws" (vec_out) : "r" (r14)); }; static void test_mtfprwa (void) diff --git a/none/tests/ppc64/test_isa_3_0.c b/none/tests/ppc64/test_isa_3_0.c index cf9df8a..78b5130 100644 --- a/none/tests/ppc64/test_isa_3_0.c +++ b/none/tests/ppc64/test_isa_3_0.c @@ -1177,23 +1177,23 @@ static void test_xscmpexpdp(void) { } static void test_xscmpeqdp(void) { - __asm__ __volatile__ ("xscmpeqdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + __asm__ __volatile__ ("xscmpeqdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); } static void test_xscmpgtdp(void) { - __asm__ __volatile__ ("xscmpgtdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + __asm__ __volatile__ ("xscmpgtdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); } static void test_xscmpgedp(void) { - __asm__ __volatile__ ("xscmpgedp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + __asm__ __volatile__ ("xscmpgedp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); } static void test_xsmincdp(void) { - __asm__ __volatile__ ("xsmincdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + __asm__ __volatile__ ("xsmincdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); } static void test_xsmaxcdp(void) { - __asm__ __volatile__ ("xsmaxcdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); + __asm__ __volatile__ ("xsmaxcdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); } static test_list_t testgroup_vector_scalar_compare_double[] = { @@ -1827,15 +1827,15 @@ static void test_xscvhpdp(void) { } static void test_xscvdphp(void) { - __asm__ __volatile__ ("xscvdphp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); + __asm__ __volatile__ ("xscvdphp %x0, %x1 " : "+wi" (vec_xt) : "wi" (vec_xb)); } static void test_xvcvhpsp(void) { - __asm__ __volatile__ ("xvcvhpsp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); + __asm__ __volatile__ ("xvcvhpsp %x0, %x1 " : "+ww" (vec_xt) : "ww" (vec_xb)); } static void test_xvcvsphp(void) { - __asm__ __volatile__ ("xvcvsphp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); + __asm__ __volatile__ ("xvcvsphp %x0, %x1 " : "+ww" (vec_xt) : "ww" (vec_xb)); } static test_list_t testgroup_vector_scalar_two_double[] = { |
|
From: Mark W. <ma...@so...> - 2020-01-25 16:20:05
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=ce094ba912b1fb1539242e4d6b2a76c513a3d132 commit ce094ba912b1fb1539242e4d6b2a76c513a3d132 Author: Mark Wielaard <ma...@kl...> Date: Sat Jan 25 17:19:11 2020 +0100 none/tests/amd64/avx_estimate_insn.vgtest: Add missing prereq. This test only works when the processor actually implements AVX. Diff: --- none/tests/amd64/avx_estimate_insn.vgtest | 2 +- none/tests/ppc64/test_isa_2_07_part1.c | 10 +++++----- none/tests/ppc64/test_isa_3_0.c | 16 ++++++++-------- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/none/tests/amd64/avx_estimate_insn.vgtest b/none/tests/amd64/avx_estimate_insn.vgtest index e2e71a2..f5d75f2 100644 --- a/none/tests/amd64/avx_estimate_insn.vgtest +++ b/none/tests/amd64/avx_estimate_insn.vgtest @@ -1,3 +1,3 @@ prog: avx_estimate_insn vgopts: -q - +prereq: ../../../tests/x86_amd64_features amd64-avx diff --git a/none/tests/ppc64/test_isa_2_07_part1.c b/none/tests/ppc64/test_isa_2_07_part1.c index 187af37..0efd39c 100644 --- a/none/tests/ppc64/test_isa_2_07_part1.c +++ b/none/tests/ppc64/test_isa_2_07_part1.c @@ -384,27 +384,27 @@ static void test_fmrgow (void) // VSX move instructions static void test_mfvsrd (void) { - __asm__ __volatile__ ("mfvsrd %0,%x1" : "=r" (r14) : "ws" (vec_inA)); + __asm__ __volatile__ ("mfvsrd %0,%x1" : "=r" (r14) : "wa" (vec_inA)); }; static void test_mfvsrwz (void) { - __asm__ __volatile__ ("mfvsrwz %0,%x1" : "=r" (r14) : "ws" (vec_inA)); + __asm__ __volatile__ ("mfvsrwz %0,%x1" : "=r" (r14) : "wa" (vec_inA)); }; static void test_mtvsrd (void) { - __asm__ __volatile__ ("mtvsrd %x0,%1" : "=ws" (vec_out) : "r" (r14)); + __asm__ __volatile__ ("mtvsrd %x0,%1" : "=wa" (vec_out) : "r" (r14)); }; static void test_mtvsrwz (void) { - __asm__ __volatile__ ("mtvsrwz %x0,%1" : "=ws" (vec_out) : "r" (r14)); + __asm__ __volatile__ ("mtvsrwz %x0,%1" : "=wa" (vec_out) : "r" (r14)); }; static void test_mtvsrwa (void) { - __asm__ __volatile__ ("mtvsrwa %x0,%1" : "=ws" (vec_out) : "r" (r14)); + __asm__ __volatile__ ("mtvsrwa %x0,%1" : "=wa" (vec_out) : "r" (r14)); }; static void test_mtfprwa (void) diff --git a/none/tests/ppc64/test_isa_3_0.c b/none/tests/ppc64/test_isa_3_0.c index 78b5130..cf9df8a 100644 --- a/none/tests/ppc64/test_isa_3_0.c +++ b/none/tests/ppc64/test_isa_3_0.c @@ -1177,23 +1177,23 @@ static void test_xscmpexpdp(void) { } static void test_xscmpeqdp(void) { - __asm__ __volatile__ ("xscmpeqdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); + __asm__ __volatile__ ("xscmpeqdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); } static void test_xscmpgtdp(void) { - __asm__ __volatile__ ("xscmpgtdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); + __asm__ __volatile__ ("xscmpgtdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); } static void test_xscmpgedp(void) { - __asm__ __volatile__ ("xscmpgedp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); + __asm__ __volatile__ ("xscmpgedp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); } static void test_xsmincdp(void) { - __asm__ __volatile__ ("xsmincdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); + __asm__ __volatile__ ("xsmincdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); } static void test_xsmaxcdp(void) { - __asm__ __volatile__ ("xsmaxcdp %x0, %x1, %x2 " : "+wa" (vec_xt): "ww" (vec_xa), "ww" (vec_xb)); + __asm__ __volatile__ ("xsmaxcdp %x0, %x1, %x2 " : "+wa" (vec_xt): "wa" (vec_xa), "wa" (vec_xb)); } static test_list_t testgroup_vector_scalar_compare_double[] = { @@ -1827,15 +1827,15 @@ static void test_xscvhpdp(void) { } static void test_xscvdphp(void) { - __asm__ __volatile__ ("xscvdphp %x0, %x1 " : "+wi" (vec_xt) : "wi" (vec_xb)); + __asm__ __volatile__ ("xscvdphp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); } static void test_xvcvhpsp(void) { - __asm__ __volatile__ ("xvcvhpsp %x0, %x1 " : "+ww" (vec_xt) : "ww" (vec_xb)); + __asm__ __volatile__ ("xvcvhpsp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); } static void test_xvcvsphp(void) { - __asm__ __volatile__ ("xvcvsphp %x0, %x1 " : "+ww" (vec_xt) : "ww" (vec_xb)); + __asm__ __volatile__ ("xvcvsphp %x0, %x1 " : "+wa" (vec_xt) : "wa" (vec_xb)); } static test_list_t testgroup_vector_scalar_two_double[] = { |
|
From: Mark W. <ma...@so...> - 2020-01-25 14:10:56
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=2d040ce2c7fd328b4e8b0c2363ebe0c2ea2cbc9f commit 2d040ce2c7fd328b4e8b0c2363ebe0c2ea2cbc9f Author: Mark Wielaard <ma...@kl...> Date: Sat Jan 25 15:10:22 2020 +0100 arm: Hook up preadv2 and pwritev2 syscalls. They work the same as on other linux architectures. Diff: --- coregrind/m_syswrap/syswrap-arm-linux.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c index 93ebc3f..18468f0 100644 --- a/coregrind/m_syswrap/syswrap-arm-linux.c +++ b/coregrind/m_syswrap/syswrap-arm-linux.c @@ -1016,6 +1016,8 @@ static SyscallTableEntry syscall_main_table[] = { LINX_(__NR_membarrier, sys_membarrier), // 389 LINX_(__NR_copy_file_range, sys_copy_file_range), // 391 + LINXY(__NR_preadv2, sys_preadv2), // 392 + LINX_(__NR_pwritev2, sys_pwritev2), // 393 LINXY(__NR_statx, sys_statx), // 397 }; |
|
From: Mark W. <ma...@so...> - 2020-01-25 14:05:27
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=6cbd9ad1a19d2e1630e044c214b63d65f62124e2 commit 6cbd9ad1a19d2e1630e044c214b63d65f62124e2 Author: Mark Wielaard <ma...@kl...> Date: Sat Jan 25 15:00:29 2020 +0100 guest_generic_bb_to_IR.c (stmt_is_guardable): Handle Ist_LoadG. Triggers on Fedora 31 armv7hl with glibc 2.30 in _dl_relocate_object. Diff: --- VEX/priv/guest_generic_bb_to_IR.c | 1 + 1 file changed, 1 insertion(+) diff --git a/VEX/priv/guest_generic_bb_to_IR.c b/VEX/priv/guest_generic_bb_to_IR.c index 6361725..7bc7b6d 100644 --- a/VEX/priv/guest_generic_bb_to_IR.c +++ b/VEX/priv/guest_generic_bb_to_IR.c @@ -459,6 +459,7 @@ static Bool stmt_is_guardable ( const IRStmt* st ) return False; // These could be guarded, with some effort, if really needed, but // currently aren't guardable. + case Ist_LoadG: case Ist_Store: case Ist_StoreG: case Ist_Exit: |