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
(83) |
Oct
(89) |
Nov
(97) |
Dec
(30) |
2024 |
Jan
(25) |
Feb
(73) |
Mar
(76) |
Apr
(122) |
May
(46) |
Jun
(44) |
Jul
(27) |
Aug
(30) |
Sep
(33) |
Oct
(67) |
Nov
(91) |
Dec
(70) |
2025 |
Jan
(44) |
Feb
(36) |
Mar
(85) |
Apr
(100) |
May
(138) |
Jun
(55) |
Jul
(107) |
Aug
(27) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Mark W. <ma...@so...> - 2025-01-15 16:50:42
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=9e4b5f1cc9f09f61fd3fb0e5687d0fc5ef39f15d commit 9e4b5f1cc9f09f61fd3fb0e5687d0fc5ef39f15d Author: Mark Wielaard <ma...@kl...> Date: Wed Jan 15 16:27:12 2025 +0100 ppc test_dfp2 build fix for GCC 15 GCC 15 defaults to C23 which changes the meaning of unprototyped functions, those declaring no arguments with (). Causing some errors: test_dfp2.c:412:26: error: initialization of 'void (*)(void)' from incompatible pointer type 'void (*)(int)' [-Wincompatible-pointer-types] 412 | { &_test_dscri, "dscri", dfp_2args_x1, 20, LONG_TEST, ">>", True}, | ^ test_dfp2.c:412:26: note: (near initialization for 'dfp_two_arg_tests[0].test_func') test_dfp2.c:110:13: note: '_test_dscri' declared here 110 | static void _test_dscri (int shift) | ^~~~~~~~~~~ test_dfp2.c:664:17: error: assignment to 'test_func_t' {aka 'void (*)(void)'} from incompatible pointer type 'test_func_main_t' {aka 'void (*)(int)'} [-Wincompatible-pointer-types] 664 | while ((func = all_tests[i].test_category)) { | ^ test_dfp2.c:237:16: note: 'test_func_t' declared here 237 | typedef void (*test_func_t)(); | ^~~~~~~~~~~ test_dfp2.c:238:16: note: 'test_func_main_t' declared here 238 | typedef void (*test_func_main_t)(int); | ^~~~~~~~~~~~~~~~ test_dfp2.c:667:8: error: too many arguments to function 'func'; expected 0, have 1 667 | (*func)(has_vsx); | ~^~~~~~ ~~~~~~~ Fix this by just explicitly compiling that code with -std=gnu99. Diff: --- none/tests/ppc32/Makefile.am | 4 +++- none/tests/ppc64/Makefile.am | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/none/tests/ppc32/Makefile.am b/none/tests/ppc32/Makefile.am index 187cab74f7..7727876fdf 100644 --- a/none/tests/ppc32/Makefile.am +++ b/none/tests/ppc32/Makefile.am @@ -129,8 +129,10 @@ test_isa_2_06_part3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_ test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ @FLAG_M32@ $(BUILD_FLAGS_DFP) +# Explicitly use -std=gnu99 because the meaning of void (*test_func_t)() +# changed in c23, causing incompatible-pointer-types errors. test_dfp2_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ - @FLAG_M32@ $(BUILD_FLAGS_DFP) + @FLAG_M32@ $(BUILD_FLAGS_DFP) -std=gnu99 test_dfp3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ @FLAG_M32@ $(BUILD_FLAGS_DFP) test_dfp4_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ diff --git a/none/tests/ppc64/Makefile.am b/none/tests/ppc64/Makefile.am index f8eab9fc00..98a14b434b 100644 --- a/none/tests/ppc64/Makefile.am +++ b/none/tests/ppc64/Makefile.am @@ -190,8 +190,10 @@ test_isa_2_06_part3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_ test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ @FLAG_M64@ $(BUILD_FLAGS_DFP) +# Explicitly use -std=gnu99 because the meaning of void (*test_func_t)() +# changed in c23, causing incompatible-pointer-types errors. test_dfp2_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ - @FLAG_M64@ $(BUILD_FLAGS_DFP) + @FLAG_M64@ $(BUILD_FLAGS_DFP) -std=gnu99 test_dfp3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ @FLAG_M64@ $(BUILD_FLAGS_DFP) test_dfp4_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ |
From: Mark W. <ma...@so...> - 2025-01-15 16:06:55
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=af48b28d80d41bad86a7eae57cb005bf504cb185 commit af48b28d80d41bad86a7eae57cb005bf504cb185 Author: Mark Wielaard <ma...@kl...> Date: Wed Jan 15 16:27:12 2025 +0100 ppc test_dfp2 build fix for GCC 15 GCC 15 defaults to C23 which changes the meaning of unprototyped functions, those declaring no arguments with (). Causing some errors: test_dfp2.c:412:26: error: initialization of 'void (*)(void)' from incompatible pointer type 'void (*)(int)' [-Wincompatible-pointer-types] 412 | { &_test_dscri, "dscri", dfp_2args_x1, 20, LONG_TEST, ">>", True}, | ^ test_dfp2.c:412:26: note: (near initialization for 'dfp_two_arg_tests[0].test_func') test_dfp2.c:110:13: note: '_test_dscri' declared here 110 | static void _test_dscri (int shift) | ^~~~~~~~~~~ test_dfp2.c:664:17: error: assignment to 'test_func_t' {aka 'void (*)(void)'} from incompatible pointer type 'test_func_main_t' {aka 'void (*)(int)'} [-Wincompatible-pointer-types] 664 | while ((func = all_tests[i].test_category)) { | ^ test_dfp2.c:237:16: note: 'test_func_t' declared here 237 | typedef void (*test_func_t)(); | ^~~~~~~~~~~ test_dfp2.c:238:16: note: 'test_func_main_t' declared here 238 | typedef void (*test_func_main_t)(int); | ^~~~~~~~~~~~~~~~ test_dfp2.c:667:8: error: too many arguments to function 'func'; expected 0, have 1 667 | (*func)(has_vsx); | ~^~~~~~ ~~~~~~~ Fix this by just explicitly compiling that code with -std=gnu99. Diff: --- none/tests/ppc32/Makefile.am | 4 +++- none/tests/ppc64/Makefile.am | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/none/tests/ppc32/Makefile.am b/none/tests/ppc32/Makefile.am index 187cab74f7..7727876fdf 100644 --- a/none/tests/ppc32/Makefile.am +++ b/none/tests/ppc32/Makefile.am @@ -129,8 +129,10 @@ test_isa_2_06_part3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_ test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ @FLAG_M32@ $(BUILD_FLAGS_DFP) +# Explicitly use -std=gnu99 because the meaning of void (*test_func_t)() +# changed in c23, causing incompatible-pointer-types errors. test_dfp2_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ - @FLAG_M32@ $(BUILD_FLAGS_DFP) + @FLAG_M32@ $(BUILD_FLAGS_DFP) -std=gnu99 test_dfp3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ @FLAG_M32@ $(BUILD_FLAGS_DFP) test_dfp4_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ diff --git a/none/tests/ppc64/Makefile.am b/none/tests/ppc64/Makefile.am index f8eab9fc00..98a14b434b 100644 --- a/none/tests/ppc64/Makefile.am +++ b/none/tests/ppc64/Makefile.am @@ -190,8 +190,10 @@ test_isa_2_06_part3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(VSX_ test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ @FLAG_M64@ $(BUILD_FLAGS_DFP) +# Explicitly use -std=gnu99 because the meaning of void (*test_func_t)() +# changed in c23, causing incompatible-pointer-types errors. test_dfp2_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ - @FLAG_M64@ $(BUILD_FLAGS_DFP) + @FLAG_M64@ $(BUILD_FLAGS_DFP) -std=gnu99 test_dfp3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ @FLAG_M64@ $(BUILD_FLAGS_DFP) test_dfp4_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -g -mregnames $(DFP_FLAG) \ |
From: Mark W. <ma...@so...> - 2025-01-12 23:22:17
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=b732f86998e39ca8714330f487804428b54c481c commit b732f86998e39ca8714330f487804428b54c481c Author: Mark Wielaard <ma...@kl...> Date: Wed Jan 8 16:52:03 2025 +0100 linux: support EVIOCGRAB ioctl EVIOCGRAB just takes an int argument. https://bugs.kde.org/show_bug.cgi?id=498143 (cherry picked from commit 59eb5a4af60d4beb2c6910a1fa6cdf8d1f3a56f2) Diff: --- NEWS | 1 + coregrind/m_syswrap/syswrap-linux.c | 4 ++++ include/vki/vki-linux.h | 3 +++ 3 files changed, 8 insertions(+) diff --git a/NEWS b/NEWS index 2fb8ce5c72..7f9e005c59 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,7 @@ The following bugs have been fixed or resolved on this branch. 497130 Recognize new DWARF5 DW_LANG constants 498317 FdBadUse is not a valid CoreError type in a suppression even though it's generated by --gen-suppressions=yes +498143 False positive on EVIOCGRAB ioctl To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index 57672f1671..87ab82e6e3 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -10397,6 +10397,10 @@ PRE(sys_ioctl) break; } + case VKI_EVIOCGRAB: + /* This just takes an int argument. */ + break; + default: /* EVIOC* are variable length and return size written on success */ switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) { diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h index 006f16d922..d4e1908e1e 100644 --- a/include/vki/vki-linux.h +++ b/include/vki/vki-linux.h @@ -3226,6 +3226,9 @@ struct vki_getcpu_cache { #define VKI_EVIOCGBIT(ev,len) _VKI_IOC(_VKI_IOC_READ, 'E', 0x20 + ev, len) /* get event bits */ +#define VKI_EVIOCGRAB _VKI_IOW('E', 0x90, int) +/* grab device */ + /* * Event types */ |
From: Mark W. <ma...@so...> - 2025-01-12 22:47:40
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=febe1ccef09f70777b086f938c03f3e71989a7c8 commit febe1ccef09f70777b086f938c03f3e71989a7c8 Author: Paul Floyd <pj...@wa...> Date: Tue Jan 7 08:05:20 2025 +0100 Bug 498317 - FdBadUse is not a valid CoreError type in a suppression even though it's generated by --gen-suppressions=yes https://bugs.kde.org/show_bug.cgi?id=498317 (cherry picked from commit 47bdc4a6f3de8e2071561d349fdd5f830388c489) Diff: --- .gitignore | 1 + NEWS | 2 ++ coregrind/m_errormgr.c | 7 +++++-- coregrind/m_syswrap/syswrap-freebsd.c | 4 ++++ none/tests/freebsd/Makefile.am | 4 +++- none/tests/freebsd/bug498317.c | 7 +++++++ none/tests/freebsd/bug498317.stderr.exp | 0 none/tests/freebsd/bug498317.supp | 8 ++++++++ none/tests/freebsd/bug498317.vgtest | 2 ++ 9 files changed, 32 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 1b6e2d002b..0682516621 100644 --- a/.gitignore +++ b/.gitignore @@ -2247,6 +2247,7 @@ /none/tests/freebsd/Makefile /none/tests/freebsd/Makefile.in /none/tests/freebsd/auxv +/none/tests/freebsd/bug498317 /none/tests/freebsd/osrel /none/tests/freebsd/swapcontext /none/tests/freebsd/fexecve diff --git a/NEWS b/NEWS index a25f9b6630..2fb8ce5c72 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,8 @@ The following bugs have been fixed or resolved on this branch. 489913 WARNING: unhandled amd64-linux syscall: 444 (landlock_create_ruleset) 494246 syscall fsopen not wrapped 497130 Recognize new DWARF5 DW_LANG constants +498317 FdBadUse is not a valid CoreError type in a suppression + even though it's generated by --gen-suppressions=yes To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_errormgr.c b/coregrind/m_errormgr.c index 4bbcea0247..2ce919482f 100644 --- a/coregrind/m_errormgr.c +++ b/coregrind/m_errormgr.c @@ -206,7 +206,8 @@ typedef // example should new core errors ever be added. ThreadSupp = -1, /* Matches ThreadErr */ FdBadCloseSupp = -2, - FdNotClosedSupp = -3 + FdNotClosedSupp = -3, + FdBadUseSupp = -4 } CoreSuppKind; @@ -1033,7 +1034,7 @@ static Bool core_error_matches_suppression(const Error* err, const Supp* su) return err->ekind == FdBadClose; case FdNotClosedSupp: return err->ekind == FdNotClosed; - case FdBadUse: + case FdBadUseSupp: return err->ekind == FdBadUse; default: VG_(umsg)("FATAL: unknown core suppression kind: %d\n", su->skind ); @@ -1522,6 +1523,8 @@ static void load_one_suppressions_file ( Int clo_suppressions_i ) supp->skind = FdBadCloseSupp; else if (VG_STREQ(supp_name, "FdNotClosed")) supp->skind = FdNotClosedSupp; + else if (VG_STREQ(supp_name, "FdBadUse")) + supp->skind = FdBadUseSupp; else BOMB("unknown core suppression type"); } diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 685eb6be07..a2b7954559 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -1400,6 +1400,10 @@ PRE(sys_fcntl) PRINT("sys_fcntl[UNKNOWN] ( %lu, %lu, %lu )", ARG1,ARG2,ARG3); I_die_here; } + + if (!ML_(fd_allowed)(ARG1, "fcntl", tid, False)) { + SET_STATUS_Failure (VKI_EBADF); + } } POST(sys_fcntl) diff --git a/none/tests/freebsd/Makefile.am b/none/tests/freebsd/Makefile.am index fe4f8db698..1ccfefb57f 100644 --- a/none/tests/freebsd/Makefile.am +++ b/none/tests/freebsd/Makefile.am @@ -11,6 +11,8 @@ EXTRA_DIST = \ auxv.stderr.exp-freebsd131 \ auxv.stderr.exp-freebsd14 \ auxv.stderr.exp-arm64 \ + bug498317.vgtest bug498317.stderr.exp \ + bug498317.supp \ cp.vgtest \ cp.stderr.exp \ osrel.vgtest \ @@ -61,7 +63,7 @@ EXTRA_DIST = \ usrstack.stdout.exp check_PROGRAMS = \ - auxv osrel swapcontext hello_world fexecve 452275 usrstack \ + auxv bug498317 osrel swapcontext hello_world fexecve 452275 usrstack \ proc_pid_file sanity_level_thread umtx_shm_creat AM_CFLAGS += $(AM_FLAG_M3264_PRI) diff --git a/none/tests/freebsd/bug498317.c b/none/tests/freebsd/bug498317.c new file mode 100644 index 0000000000..36a1a5a136 --- /dev/null +++ b/none/tests/freebsd/bug498317.c @@ -0,0 +1,7 @@ +#include <fcntl.h> + +int main(void) { + fcntl(-1, F_GETFD); + return 0; +} + diff --git a/none/tests/freebsd/bug498317.stderr.exp b/none/tests/freebsd/bug498317.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/freebsd/bug498317.supp b/none/tests/freebsd/bug498317.supp new file mode 100644 index 0000000000..b3a99447c2 --- /dev/null +++ b/none/tests/freebsd/bug498317.supp @@ -0,0 +1,8 @@ +{ + test suppression of FdBadUse + CoreError:FdBadUse + fun:_fcntl + fun:fcntl + fun:main +} + diff --git a/none/tests/freebsd/bug498317.vgtest b/none/tests/freebsd/bug498317.vgtest new file mode 100644 index 0000000000..6579ebce8c --- /dev/null +++ b/none/tests/freebsd/bug498317.vgtest @@ -0,0 +1,2 @@ +prog: bug498317 +vgopts: -q |
From: Paul F. <pa...@so...> - 2025-01-11 12:55:35
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=5b2fed0f5a4471d87d0763172f29332cf4cc6abe commit 5b2fed0f5a4471d87d0763172f29332cf4cc6abe Author: Paul Floyd <pj...@wa...> Date: Sat Jan 11 12:28:00 2025 +0100 Bug 498492 - none/tests/amd64/lzcnt64 crashes on FreeBSD compiled with clang Using push in inline asm is a bit risky. It worked by luck with GCC. Fix it by shifting down RSP by 1024 and before the test and restoring it after. Diff: --- NEWS | 1 + none/tests/amd64/lzcnt64.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index e25d1d8b81..5c576ff33e 100644 --- a/NEWS +++ b/NEWS @@ -41,6 +41,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 498317 FdBadUse is not a valid CoreError type in a suppression even though it's generated by --gen-suppressions=yes 498143 False positive on EVIOCGRAB ioctl +498492 none/tests/amd64/lzcnt64 crashes on FreeBSD compiled with clang To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/none/tests/amd64/lzcnt64.c b/none/tests/amd64/lzcnt64.c index 22fa353b8d..d2b14d6911 100644 --- a/none/tests/amd64/lzcnt64.c +++ b/none/tests/amd64/lzcnt64.c @@ -9,12 +9,14 @@ void do_lzcnt64 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, ULong arg ) { ULong block[3] = { arg, 0ULL, 0ULL }; __asm__ __volatile__( + "subq $1024, %%rsp\n\t" "movabsq $0x5555555555555555, %%r11" "\n\t" "lzcntq 0(%0), %%r11" "\n\t" "movq %%r11, 8(%0)" "\n\t" "pushfq" "\n\t" "popq %%r11" "\n\t" - "movq %%r11, 16(%0)" "\n" + "movq %%r11, 16(%0)" "\n\t" + "addq $1024, %%rsp" "\n" : : "r"(&block[0]) : "r11","cc","memory" ); *res = block[1]; @@ -26,12 +28,14 @@ void do_lzcnt32 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, ULong arg ) { ULong block[3] = { arg, 0ULL, 0ULL }; __asm__ __volatile__( + "subq $1024, %%rsp\n\t" "movabsq $0x5555555555555555, %%r11" "\n\t" "lzcntl 0(%0), %%r11d" "\n\t" "movq %%r11, 8(%0)" "\n\t" "pushfq" "\n\t" "popq %%r11" "\n\t" - "movq %%r11, 16(%0)" "\n" + "movq %%r11, 16(%0)" "\n\t" + "addq $1024, %%rsp" "\n" : : "r"(&block[0]) : "r11","cc","memory" ); *res = block[1]; @@ -43,12 +47,14 @@ void do_lzcnt16 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, ULong arg ) { ULong block[3] = { arg, 0ULL, 0ULL }; __asm__ __volatile__( + "subq $1024, %%rsp\n\t" "movabsq $0x5555555555555555, %%r11" "\n\t" "lzcntw 0(%0), %%r11w" "\n\t" "movq %%r11, 8(%0)" "\n\t" "pushfq" "\n\t" "popq %%r11" "\n\t" - "movq %%r11, 16(%0)" "\n" + "movq %%r11, 16(%0)" "\n\t" + "addq $1024, %%rsp" "\n" : : "r"(&block[0]) : "r11","cc","memory" ); *res = block[1]; |
From: Paul F. <pa...@so...> - 2025-01-11 12:53:12
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=1100cd56df9bb99737f271b684d4fa3396698943 commit 1100cd56df9bb99737f271b684d4fa3396698943 Author: Paul Floyd <pj...@wa...> Date: Sat Jan 11 12:20:12 2025 +0100 FreeBSD regtest: rename testcase Running on VirtualBox, this bug452274 runs extremely slowly. Not sure why. On real hardware it runs in a second or less. When looking at it I saw that it uses the wrong bugzilla ID, so fix that. Diff: --- .gitignore | 4 ++-- none/tests/freebsd/452275.vgtest | 3 --- none/tests/freebsd/Makefile.am | 10 +++++----- none/tests/freebsd/{452275.c => bug452274.c} | 0 none/tests/freebsd/{452275.stderr.exp => bug452274.stderr.exp} | 0 none/tests/freebsd/bug452274.vgtest | 3 +++ none/tests/freebsd/{filter_452275 => filter_452274} | 0 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index e82d3e2fe0..d44246b8bc 100644 --- a/.gitignore +++ b/.gitignore @@ -1397,12 +1397,12 @@ /memcheck/tests/freebsd/.deps /memcheck/tests/freebsd/Makefile /memcheck/tests/freebsd/Makefile.in -/memcheck/tests/freebsd/452275 /memcheck/tests/freebsd/access /memcheck/tests/freebsd/aio /memcheck/tests/freebsd/aiov /memcheck/tests/freebsd/aio_read /memcheck/tests/freebsd/aligned_alloc +/memcheck/tests/freebsd/bug452274 /memcheck/tests/freebsd/bug464476 /memcheck/tests/freebsd/bug470713 /memcheck/tests/freebsd/bug483786 @@ -2251,12 +2251,12 @@ /none/tests/freebsd/Makefile /none/tests/freebsd/Makefile.in /none/tests/freebsd/auxv +/none/tests/freebsd/bug452274 /none/tests/freebsd/bug498317 /none/tests/freebsd/osrel /none/tests/freebsd/swapcontext /none/tests/freebsd/fexecve /none/tests/freebsd/hello_world -/none/tests/freebsd/452275 /none/tests/freebsd/proc_pid_file /none/tests/freebsd/sanity_level_thread /none/tests/freebsd/usrstack diff --git a/none/tests/freebsd/452275.vgtest b/none/tests/freebsd/452275.vgtest deleted file mode 100644 index 047d618bbe..0000000000 --- a/none/tests/freebsd/452275.vgtest +++ /dev/null @@ -1,3 +0,0 @@ -prog: 452275 -vgopts: -q -stderr_filter: filter_452275 diff --git a/none/tests/freebsd/Makefile.am b/none/tests/freebsd/Makefile.am index 1ccfefb57f..d4c2474bbc 100644 --- a/none/tests/freebsd/Makefile.am +++ b/none/tests/freebsd/Makefile.am @@ -1,7 +1,7 @@ include $(top_srcdir)/Makefile.tool-tests.am -dist_noinst_SCRIPTS = filter_stderr test.sh filter_452275 filter_auxv filter_fdleak +dist_noinst_SCRIPTS = filter_stderr test.sh filter_452274 filter_auxv filter_fdleak EXTRA_DIST = \ auxv.vgtest \ @@ -11,6 +11,8 @@ EXTRA_DIST = \ auxv.stderr.exp-freebsd131 \ auxv.stderr.exp-freebsd14 \ auxv.stderr.exp-arm64 \ + bug452274.vgtest \ + bug452274.stderr.exp \ bug498317.vgtest bug498317.stderr.exp \ bug498317.supp \ cp.vgtest \ @@ -31,8 +33,6 @@ EXTRA_DIST = \ fexecve_script2.stderr.exp \ fexecve_txt.vgtest \ fexecve_txt.stderr.exp \ - 452275.vgtest \ - 452275.stderr.exp \ proc_pid_file.vgtest \ proc_pid_file.stderr.exp \ bash_test.vgtest \ @@ -63,8 +63,8 @@ EXTRA_DIST = \ usrstack.stdout.exp check_PROGRAMS = \ - auxv bug498317 osrel swapcontext hello_world fexecve 452275 usrstack \ - proc_pid_file sanity_level_thread umtx_shm_creat + auxv bug498317 osrel swapcontext hello_world fexecve bug452274 \ + usrstack proc_pid_file sanity_level_thread umtx_shm_creat AM_CFLAGS += $(AM_FLAG_M3264_PRI) AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) diff --git a/none/tests/freebsd/452275.c b/none/tests/freebsd/bug452274.c similarity index 100% rename from none/tests/freebsd/452275.c rename to none/tests/freebsd/bug452274.c diff --git a/none/tests/freebsd/452275.stderr.exp b/none/tests/freebsd/bug452274.stderr.exp similarity index 100% rename from none/tests/freebsd/452275.stderr.exp rename to none/tests/freebsd/bug452274.stderr.exp diff --git a/none/tests/freebsd/bug452274.vgtest b/none/tests/freebsd/bug452274.vgtest new file mode 100644 index 0000000000..30b1179a61 --- /dev/null +++ b/none/tests/freebsd/bug452274.vgtest @@ -0,0 +1,3 @@ +prog: bug452274 +vgopts: -q +stderr_filter: filter_452274 diff --git a/none/tests/freebsd/filter_452275 b/none/tests/freebsd/filter_452274 similarity index 100% rename from none/tests/freebsd/filter_452275 rename to none/tests/freebsd/filter_452274 |
From: Paul F. <pa...@so...> - 2025-01-08 20:30:33
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=f03524bfe236e2279187084522cb427a99f2232b commit f03524bfe236e2279187084522cb427a99f2232b Author: Paul Floyd <pj...@wa...> Date: Wed Jan 8 21:29:23 2025 +0100 regtest: broaden none/tests/linux/bug498317 suppression for PPC Diff: --- none/tests/linux/bug498317.supp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/none/tests/linux/bug498317.supp b/none/tests/linux/bug498317.supp index 72673d9c0d..f345f3771f 100644 --- a/none/tests/linux/bug498317.supp +++ b/none/tests/linux/bug498317.supp @@ -1,7 +1,7 @@ { test suppression of FdBadUse CoreError:FdBadUse - fun:__fcntl64_nocancel_adjusted + ... fun:fcntl fun:main } |
From: Mark W. <ma...@so...> - 2025-01-08 15:54:39
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=59eb5a4af60d4beb2c6910a1fa6cdf8d1f3a56f2 commit 59eb5a4af60d4beb2c6910a1fa6cdf8d1f3a56f2 Author: Mark Wielaard <ma...@kl...> Date: Wed Jan 8 16:52:03 2025 +0100 linux: support EVIOCGRAB ioctl EVIOCGRAB just takes an int argument. https://bugs.kde.org/show_bug.cgi?id=498143 Diff: --- NEWS | 1 + coregrind/m_syswrap/syswrap-linux.c | 4 ++++ include/vki/vki-linux.h | 3 +++ 3 files changed, 8 insertions(+) diff --git a/NEWS b/NEWS index 118961a034..e25d1d8b81 100644 --- a/NEWS +++ b/NEWS @@ -40,6 +40,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. overloaded functions and procedures 498317 FdBadUse is not a valid CoreError type in a suppression even though it's generated by --gen-suppressions=yes +498143 False positive on EVIOCGRAB ioctl To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index 60e05a46c4..e8978b5bc1 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -10397,6 +10397,10 @@ PRE(sys_ioctl) break; } + case VKI_EVIOCGRAB: + /* This just takes an int argument. */ + break; + default: /* EVIOC* are variable length and return size written on success */ switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) { diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h index 006f16d922..d4e1908e1e 100644 --- a/include/vki/vki-linux.h +++ b/include/vki/vki-linux.h @@ -3226,6 +3226,9 @@ struct vki_getcpu_cache { #define VKI_EVIOCGBIT(ev,len) _VKI_IOC(_VKI_IOC_READ, 'E', 0x20 + ev, len) /* get event bits */ +#define VKI_EVIOCGRAB _VKI_IOW('E', 0x90, int) +/* grab device */ + /* * Event types */ |
From: Jefferson C. <jef...@gm...> - 2025-01-08 09:38:49
|
On 1/8/2025 3:32 AM, Florian Krohm wrote: > We could check this in and see what happens. > A word from the platform maintainers would be good, too. Just want to point out there's a typo in the comment: C111 should be C11 - Jefferson > > > diff --git a/configure.ac b/configure.ac > index cb1dc69d3..1e2723cc1 100755 > --- a/configure.ac > +++ b/configure.ac > @@ -50,10 +50,10 @@ CXXFLAGS="$CXXFLAGS" > #---------------------------------------------------------------------------- > > > AC_PROG_LN_S > -m4_version_prereq([2.70], [AC_PROG_CC], [AC_PROG_CC_C99]) > -# Make sure we can compile in C99 mode. > -if test "$ac_cv_prog_cc_c99" = "no"; then > - AC_MSG_ERROR([Valgrind relies on a C compiler supporting C99]) > +m4_version_prereq([2.70], [AC_PROG_CC], [AC_PROG_CC_C11]) > +# Make sure we can compile in C111 mode. > +if test "$ac_cv_prog_cc_c11" = "no"; then > + AC_MSG_ERROR([Valgrind relies on a C compiler supporting C11]) > fi > AC_PROG_CPP > AC_PROG_CXX > > > > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
From: Florian K. <fl...@ei...> - 2025-01-08 09:32:53
|
On 08.01.25 06:55, Paul Floyd via Valgrind-developers wrote: > > I'm all for it. Does the oldest GCC used for the nightlies and buildbot support > C11? > We could check this in and see what happens. A word from the platform maintainers would be good, too. Florian diff --git a/configure.ac b/configure.ac index cb1dc69d3..1e2723cc1 100755 --- a/configure.ac +++ b/configure.ac @@ -50,10 +50,10 @@ CXXFLAGS="$CXXFLAGS" #---------------------------------------------------------------------------- AC_PROG_LN_S -m4_version_prereq([2.70], [AC_PROG_CC], [AC_PROG_CC_C99]) -# Make sure we can compile in C99 mode. -if test "$ac_cv_prog_cc_c99" = "no"; then - AC_MSG_ERROR([Valgrind relies on a C compiler supporting C99]) +m4_version_prereq([2.70], [AC_PROG_CC], [AC_PROG_CC_C11]) +# Make sure we can compile in C111 mode. +if test "$ac_cv_prog_cc_c11" = "no"; then + AC_MSG_ERROR([Valgrind relies on a C compiler supporting C11]) fi AC_PROG_CPP AC_PROG_CXX |
From: Paul F. <pj...@wa...> - 2025-01-08 05:55:31
|
On 07/01/2025 20:10, Florian Krohm wrote: > Hi, > > I was wondering whether the use C11 would be acceptable in valgrind > code. I am primarily interested in anonymous unions. > As Mark pointed out on irc configury currently checks for C99. It's > now 2025. Perhaps time to upgrade? > Hi I'm all for it. Does the oldest GCC used for the nightlies and buildbot support C11? A+ Paul |
From: Paul F. <pa...@so...> - 2025-01-07 21:08:34
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=828e4f5a65ebda41beafc14b66c2a459e2e5d764 commit 828e4f5a65ebda41beafc14b66c2a459e2e5d764 Author: Paul Floyd <pj...@wa...> Date: Tue Jan 7 22:07:25 2025 +0100 regest: add missing exp to EXTRA_DIST Diff: --- none/tests/linux/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/none/tests/linux/Makefile.am b/none/tests/linux/Makefile.am index f1a95b4d58..dbb535902e 100644 --- a/none/tests/linux/Makefile.am +++ b/none/tests/linux/Makefile.am @@ -7,7 +7,7 @@ EXTRA_DIST = \ blockfault.stderr.exp blockfault.vgtest \ brk-overflow1.stderr.exp brk-overflow1.vgtest \ brk-overflow2.stderr.exp brk-overflow2.vgtest \ - bug498317.supp bug498317.vgtest \ + bug498317.stderr.exp bug498317.supp bug498317.vgtest \ clonev.stdout.exp clonev.stderr.exp clonev.vgtest \ membarrier.stderr.exp membarrier.vgtest \ mremap.stderr.exp mremap.stderr.exp-glibc27 mremap.stdout.exp \ |
From: Florian K. <fl...@ei...> - 2025-01-07 19:11:10
|
Hi, I was wondering whether the use C11 would be acceptable in valgrind code. I am primarily interested in anonymous unions. As Mark pointed out on irc configury currently checks for C99. It's now 2025. Perhaps time to upgrade? Florian |
From: Paul F. <pa...@so...> - 2025-01-07 12:51:26
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=19391a0812ca6b7d7e009f0ef97414b5ceb52175 commit 19391a0812ca6b7d7e009f0ef97414b5ceb52175 Author: Paul Floyd <pj...@wa...> Date: Tue Jan 7 13:50:38 2025 +0100 regtest: forgot to add the right options for bug98317 on FreeBSD Diff: --- none/tests/freebsd/bug498317.vgtest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/none/tests/freebsd/bug498317.vgtest b/none/tests/freebsd/bug498317.vgtest index 6579ebce8c..0e5672e712 100644 --- a/none/tests/freebsd/bug498317.vgtest +++ b/none/tests/freebsd/bug498317.vgtest @@ -1,2 +1,2 @@ prog: bug498317 -vgopts: -q +vgopts: -q --track-fds=yes --suppressions=bug498317.supp |
From: Paul F. <pa...@so...> - 2025-01-07 12:35:36
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=042cc5fcc229896d3c954d0969a8bea06bbf7fd7 commit 042cc5fcc229896d3c954d0969a8bea06bbf7fd7 Author: Paul Floyd <pj...@wa...> Date: Tue Jan 7 13:34:56 2025 +0100 regtest: add a Linux version of test for bug498317 Diff: --- .gitignore | 1 + none/tests/linux/Makefile.am | 2 ++ none/tests/linux/bug498317.c | 1 + none/tests/linux/bug498317.stderr.exp | 0 none/tests/linux/bug498317.supp | 8 ++++++++ none/tests/linux/bug498317.vgtest | 2 ++ 6 files changed, 14 insertions(+) diff --git a/.gitignore b/.gitignore index 0456de003f..e82d3e2fe0 100644 --- a/.gitignore +++ b/.gitignore @@ -1854,6 +1854,7 @@ /none/tests/linux/blockfault /none/tests/linux/brk-overflow1 /none/tests/linux/brk-overflow2 +/none/tests/linux/bug498317 /none/tests/linux/clonev /none/tests/linux/Makefile /none/tests/linux/Makefile.in diff --git a/none/tests/linux/Makefile.am b/none/tests/linux/Makefile.am index 5299da2230..f1a95b4d58 100644 --- a/none/tests/linux/Makefile.am +++ b/none/tests/linux/Makefile.am @@ -7,6 +7,7 @@ EXTRA_DIST = \ blockfault.stderr.exp blockfault.vgtest \ brk-overflow1.stderr.exp brk-overflow1.vgtest \ brk-overflow2.stderr.exp brk-overflow2.vgtest \ + bug498317.supp bug498317.vgtest \ clonev.stdout.exp clonev.stderr.exp clonev.vgtest \ membarrier.stderr.exp membarrier.vgtest \ mremap.stderr.exp mremap.stderr.exp-glibc27 mremap.stdout.exp \ @@ -23,6 +24,7 @@ check_PROGRAMS = \ blockfault \ brk-overflow1 \ brk-overflow2 \ + bug498317 \ clonev \ mremap \ mremap2 \ diff --git a/none/tests/linux/bug498317.c b/none/tests/linux/bug498317.c new file mode 120000 index 0000000000..e763fcd328 --- /dev/null +++ b/none/tests/linux/bug498317.c @@ -0,0 +1 @@ +../freebsd/bug498317.c \ No newline at end of file diff --git a/none/tests/linux/bug498317.stderr.exp b/none/tests/linux/bug498317.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/linux/bug498317.supp b/none/tests/linux/bug498317.supp new file mode 100644 index 0000000000..72673d9c0d --- /dev/null +++ b/none/tests/linux/bug498317.supp @@ -0,0 +1,8 @@ +{ + test suppression of FdBadUse + CoreError:FdBadUse + fun:__fcntl64_nocancel_adjusted + fun:fcntl + fun:main +} + diff --git a/none/tests/linux/bug498317.vgtest b/none/tests/linux/bug498317.vgtest new file mode 100644 index 0000000000..0e5672e712 --- /dev/null +++ b/none/tests/linux/bug498317.vgtest @@ -0,0 +1,2 @@ +prog: bug498317 +vgopts: -q --track-fds=yes --suppressions=bug498317.supp |
From: Paul F. <pa...@so...> - 2025-01-07 08:01:01
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=47bdc4a6f3de8e2071561d349fdd5f830388c489 commit 47bdc4a6f3de8e2071561d349fdd5f830388c489 Author: Paul Floyd <pj...@wa...> Date: Tue Jan 7 08:05:20 2025 +0100 Bug 498317 - FdBadUse is not a valid CoreError type in a suppression even though it's generated by --gen-suppressions=yes Diff: --- .gitignore | 1 + NEWS | 2 ++ coregrind/m_errormgr.c | 7 +++++-- coregrind/m_syswrap/syswrap-freebsd.c | 4 ++++ none/tests/freebsd/Makefile.am | 4 +++- none/tests/freebsd/bug498317.c | 7 +++++++ none/tests/freebsd/bug498317.stderr.exp | 0 none/tests/freebsd/bug498317.supp | 8 ++++++++ none/tests/freebsd/bug498317.vgtest | 2 ++ 9 files changed, 32 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 46c9126716..0456de003f 100644 --- a/.gitignore +++ b/.gitignore @@ -2250,6 +2250,7 @@ /none/tests/freebsd/Makefile /none/tests/freebsd/Makefile.in /none/tests/freebsd/auxv +/none/tests/freebsd/bug498317 /none/tests/freebsd/osrel /none/tests/freebsd/swapcontext /none/tests/freebsd/fexecve diff --git a/NEWS b/NEWS index 0be2ff0339..118961a034 100644 --- a/NEWS +++ b/NEWS @@ -38,6 +38,8 @@ are not entered into bugzilla tend to get forgotten about or ignored. 497455 Update drd/scripts/download-and-build-gcc 497723 Enabling Ada demangling breaks callgrind differentiation between overloaded functions and procedures +498317 FdBadUse is not a valid CoreError type in a suppression + even though it's generated by --gen-suppressions=yes To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_errormgr.c b/coregrind/m_errormgr.c index 4bbcea0247..2ce919482f 100644 --- a/coregrind/m_errormgr.c +++ b/coregrind/m_errormgr.c @@ -206,7 +206,8 @@ typedef // example should new core errors ever be added. ThreadSupp = -1, /* Matches ThreadErr */ FdBadCloseSupp = -2, - FdNotClosedSupp = -3 + FdNotClosedSupp = -3, + FdBadUseSupp = -4 } CoreSuppKind; @@ -1033,7 +1034,7 @@ static Bool core_error_matches_suppression(const Error* err, const Supp* su) return err->ekind == FdBadClose; case FdNotClosedSupp: return err->ekind == FdNotClosed; - case FdBadUse: + case FdBadUseSupp: return err->ekind == FdBadUse; default: VG_(umsg)("FATAL: unknown core suppression kind: %d\n", su->skind ); @@ -1522,6 +1523,8 @@ static void load_one_suppressions_file ( Int clo_suppressions_i ) supp->skind = FdBadCloseSupp; else if (VG_STREQ(supp_name, "FdNotClosed")) supp->skind = FdNotClosedSupp; + else if (VG_STREQ(supp_name, "FdBadUse")) + supp->skind = FdBadUseSupp; else BOMB("unknown core suppression type"); } diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index ea0ca2bfe5..d358c90eb0 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -1400,6 +1400,10 @@ PRE(sys_fcntl) PRINT("sys_fcntl[UNKNOWN] ( %lu, %lu, %lu )", ARG1,ARG2,ARG3); I_die_here; } + + if (!ML_(fd_allowed)(ARG1, "fcntl", tid, False)) { + SET_STATUS_Failure (VKI_EBADF); + } } POST(sys_fcntl) diff --git a/none/tests/freebsd/Makefile.am b/none/tests/freebsd/Makefile.am index fe4f8db698..1ccfefb57f 100644 --- a/none/tests/freebsd/Makefile.am +++ b/none/tests/freebsd/Makefile.am @@ -11,6 +11,8 @@ EXTRA_DIST = \ auxv.stderr.exp-freebsd131 \ auxv.stderr.exp-freebsd14 \ auxv.stderr.exp-arm64 \ + bug498317.vgtest bug498317.stderr.exp \ + bug498317.supp \ cp.vgtest \ cp.stderr.exp \ osrel.vgtest \ @@ -61,7 +63,7 @@ EXTRA_DIST = \ usrstack.stdout.exp check_PROGRAMS = \ - auxv osrel swapcontext hello_world fexecve 452275 usrstack \ + auxv bug498317 osrel swapcontext hello_world fexecve 452275 usrstack \ proc_pid_file sanity_level_thread umtx_shm_creat AM_CFLAGS += $(AM_FLAG_M3264_PRI) diff --git a/none/tests/freebsd/bug498317.c b/none/tests/freebsd/bug498317.c new file mode 100644 index 0000000000..36a1a5a136 --- /dev/null +++ b/none/tests/freebsd/bug498317.c @@ -0,0 +1,7 @@ +#include <fcntl.h> + +int main(void) { + fcntl(-1, F_GETFD); + return 0; +} + diff --git a/none/tests/freebsd/bug498317.stderr.exp b/none/tests/freebsd/bug498317.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/none/tests/freebsd/bug498317.supp b/none/tests/freebsd/bug498317.supp new file mode 100644 index 0000000000..b3a99447c2 --- /dev/null +++ b/none/tests/freebsd/bug498317.supp @@ -0,0 +1,8 @@ +{ + test suppression of FdBadUse + CoreError:FdBadUse + fun:_fcntl + fun:fcntl + fun:main +} + diff --git a/none/tests/freebsd/bug498317.vgtest b/none/tests/freebsd/bug498317.vgtest new file mode 100644 index 0000000000..6579ebce8c --- /dev/null +++ b/none/tests/freebsd/bug498317.vgtest @@ -0,0 +1,2 @@ +prog: bug498317 +vgopts: -q |
From: Paul F. <pa...@so...> - 2025-01-03 21:06:09
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=a355202c8dcdcc2716da79c66733a69415d19a6f commit a355202c8dcdcc2716da79c66733a69415d19a6f Author: Paul Floyd <pj...@wa...> Date: Fri Jan 3 22:04:27 2025 +0100 Add use of QT_ENABLE_REGEXP_JIT env var to FAQ Prevents huge numbers of errors with Qt apps. Diff: --- docs/xml/FAQ.xml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/xml/FAQ.xml b/docs/xml/FAQ.xml index 9421aa0ffa..201b365021 100644 --- a/docs/xml/FAQ.xml +++ b/docs/xml/FAQ.xml @@ -645,6 +645,26 @@ int main(void) </answer> </qandaentry> +<qandaentry id="faq.pcre2_qt"> + <question id="q-pcre2_qt"> + <para>I'm developing a Qt application and I get huge numbers of "Conditional jump" + errors. Is there anything that I can do about it?</para> + </question> + <answer id="a-pcre2_qt"> + <para>Yes, there is a workaround. Here is an example error:</para> +<programlisting> +Conditional jump or move depends on uninitialised value(s) + at 0x1051C39B: ??? + by 0x12657AA7: ??? +</programlisting> + <para>Qt Regular Expressions are built on the pcre2 library. + pcre2 uses JITting which means that the errors cannot be suppressed + (no function name). However, Qt provides a mechanism to turn off + the use of JITting. To do so, use the following environment variable: + <computeroutput>export QT_ENABLE_REGEXP_JIT=0</computeroutput></para> + </answer> +</qandaentry> + <qandaentry id="faq.attach"> <question id="q-attach"> |
From: Petar J. <pe...@so...> - 2024-12-26 17:42:57
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=0d0a877eb8dcbbbe93c2cccfdcf8a7d2ed057beb commit 0d0a877eb8dcbbbe93c2cccfdcf8a7d2ed057beb Author: Petar Jovanovic <mip...@gm...> Date: Thu Dec 26 17:27:01 2024 +0000 mips: Add some missing syscalls for mips32 Add a number of missing system calls for mips32-linux. Verified using appropriate LTP tests. Signed-off-by: Aleksandar Rikalo <ar...@gm...> Diff: --- coregrind/m_syswrap/syswrap-mips32-linux.c | 35 +++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c index 39ba911aa5..f6f1f556ee 100644 --- a/coregrind/m_syswrap/syswrap-mips32-linux.c +++ b/coregrind/m_syswrap/syswrap-mips32-linux.c @@ -977,7 +977,7 @@ static SyscallTableEntry syscall_main_table[] = { PLAXY (__NR_stat64, sys_stat64), // 213 PLAXY (__NR_lstat64, sys_lstat64), // 214 PLAXY (__NR_fstat64, sys_fstat64), // 215 - //.. + LINX_ (__NR_pivot_root, sys_pivot_root), // 216 GENXY (__NR_mincore, sys_mincore), // 217 GENX_ (__NR_madvise, sys_madvise), // 218 GENXY (__NR_getdents64, sys_getdents64), // 219 @@ -997,7 +997,7 @@ static SyscallTableEntry syscall_main_table[] = { LINX_ (__NR_removexattr, sys_removexattr), // 233 LINX_ (__NR_lremovexattr, sys_lremovexattr), // 234 LINX_ (__NR_fremovexattr, sys_fremovexattr), // 235 - //.. + LINXY (__NR_tkill, sys_tkill), // 236 LINXY (__NR_sendfile64, sys_sendfile64), // 237 LINXY (__NR_futex, sys_futex), // 238 LINX_ (__NR_sched_setaffinity, sys_sched_setaffinity), // 239 @@ -1017,7 +1017,6 @@ static SyscallTableEntry syscall_main_table[] = { PLAX_ (__NR_fadvise64, sys_fadvise64), // 254 GENXY (__NR_statfs64, sys_statfs64), // 255 GENXY (__NR_fstatfs64, sys_fstatfs64), // 256 - //.. LINXY (__NR_timer_create, sys_timer_create), // 257 LINXY (__NR_timer_settime, sys_timer_settime), // 258 LINXY (__NR_timer_gettime, sys_timer_gettime), // 259 @@ -1042,7 +1041,13 @@ static SyscallTableEntry syscall_main_table[] = { LINX_ (__NR_inotify_rm_watch, sys_inotify_rm_watch), // 277 LINXY (__NR_waitid, sys_waitid), // 278 //.. + LINX_ (__NR_add_key, sys_add_key), // 280 + LINX_ (__NR_request_key, sys_request_key), // 281 + LINXY (__NR_keyctl, sys_keyctl), // 282 PLAX_ (__NR_set_thread_area, sys_set_thread_area), // 283 + LINXY (__NR_inotify_init, sys_inotify_init), // 284 + LINX_ (__NR_inotify_add_watch, sys_inotify_add_watch), // 285 + LINX_ (__NR_inotify_rm_watch, sys_inotify_rm_watch), // 286 //.. LINXY (__NR_openat, sys_openat), // 288 LINX_ (__NR_mkdirat, sys_mkdirat), // 289 @@ -1072,6 +1077,7 @@ static SyscallTableEntry syscall_main_table[] = { LINXY (__NR_epoll_pwait, sys_epoll_pwait), // 313 //.. LINX_ (__NR_utimensat, sys_utimensat), // 316 + LINXY (__NR_signalfd, sys_signalfd), // 317 //.. LINX_ (__NR_fallocate, sys_fallocate), // 320 LINXY (__NR_timerfd_create, sys_timerfd_create), // 321 @@ -1079,14 +1085,21 @@ static SyscallTableEntry syscall_main_table[] = { LINXY (__NR_timerfd_settime, sys_timerfd_settime), // 323 LINXY (__NR_signalfd4, sys_signalfd4), // 324 LINXY (__NR_eventfd2, sys_eventfd2), // 325 - //.. + LINXY (__NR_epoll_create1, sys_epoll_create1), // 326 + LINXY (__NR_dup3, sys_dup3), // 327 LINXY (__NR_pipe2, sys_pipe2), // 328 LINXY (__NR_inotify_init1, sys_inotify_init1), // 329 LINXY (__NR_preadv, sys_preadv), // 330 LINX_ (__NR_pwritev, sys_pwritev), // 331 - //.. + LINXY (__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo), // 332 + LINXY (__NR_perf_event_open, sys_perf_event_open), // 333 + LINXY (__NR_accept4, sys_accept4), // 334 + LINXY (__NR_recvmmsg, sys_recvmmsg), // 335 + LINXY (__NR_fanotify_init, sys_fanotify_init), // 336 + LINX_ (__NR_fanotify_mark, sys_fanotify_mark), // 337 LINXY (__NR_prlimit64, sys_prlimit64), // 338 - //.. + LINXY (__NR_name_to_handle_at, sys_name_to_handle_at), // 339 + LINXY (__NR_open_by_handle_at, sys_open_by_handle_at), // 340 LINXY (__NR_clock_adjtime, sys_clock_adjtime), // 341 LINX_ (__NR_syncfs, sys_syncfs), // 342 LINX_ (__NR_setns, sys_setns), // 343 @@ -1112,6 +1125,16 @@ static SyscallTableEntry syscall_main_table[] = { LINXY(__NR_statx, sys_statx), // 366 GENX_(__NR_rseq, sys_ni_syscall), // 367 + LINX_(__NR_semget, sys_semget), // 393 + LINXY(__NR_semctl, sys_semctl), // 394 + LINX_(__NR_shmget, sys_shmget), // 395 + LINXY(__NR_shmctl, sys_shmctl), // 396 + LINXY(__NR_shmat, sys_shmat), // 397 + LINXY(__NR_shmdt, sys_shmdt), // 398 + LINX_(__NR_msgget, sys_msgget), // 399 + LINX_(__NR_msgsnd, sys_msgsnd), // 400 + LINXY(__NR_msgrcv, sys_msgrcv), // 401 + LINXY(__NR_msgctl, sys_msgctl), // 402 LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403 LINX_(__NR_clock_settime64, sys_clock_settime64), // 404 |
From: Mark W. <ma...@so...> - 2024-12-25 18:22:52
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=738af55f1b12a06f76943ca4afb9ba9ec3603ea5 commit 738af55f1b12a06f76943ca4afb9ba9ec3603ea5 Author: Mark Wielaard <ma...@kl...> Date: Tue Dec 24 19:11:17 2024 +0100 memcheck/tests/sh-mem-random.c: Set huge_addr to 240GB https://www.kernel.org/doc/html/next/riscv/vm-layout.html Says RISC-V Linux Kernel SV39 user-space virtual memory ends at 256GB. So try at 240GB. This seems a reasonable value for other arches too. https://bugs.kde.org/show_bug.cgi?id=468575#c78 Diff: --- memcheck/tests/sh-mem-random.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/memcheck/tests/sh-mem-random.c b/memcheck/tests/sh-mem-random.c index ae82248ae6..0e01684acb 100644 --- a/memcheck/tests/sh-mem-random.c +++ b/memcheck/tests/sh-mem-random.c @@ -247,7 +247,10 @@ int main(void) int nbytes_p; // (U1*)(UWord)constULL funny casting to keep gcc quiet on // 32-bit platforms - U1* huge_addr = (U1*)(UWord)0x6600000000ULL; // 408GB + // https://www.kernel.org/doc/html/next/riscv/vm-layout.html + // Says RISC-V Linux Kernel SV39 user-space virtual memory + // ends at 256GB. So try at 240GB. + U1* huge_addr = (U1*)(UWord)0x3c00000000ULL; // 240GB // Note, kernel 2.6.? on Athlon64 refuses fixed mmap requests // at above 512GB. |
From: Philippe W. <phi...@so...> - 2024-12-25 15:09:28
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=4e42cc21d67d9c07ee90cd08abbacf960d75c72c commit 4e42cc21d67d9c07ee90cd08abbacf960d75c72c Author: Philippe Waroquiers <phi...@sk...> Date: Wed Dec 25 16:08:04 2024 +0100 Minor changes to the documentation and commends related to demangling. Diff: --- coregrind/m_demangle/demangle.c | 4 ++-- docs/xml/manual-core.xml | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/coregrind/m_demangle/demangle.c b/coregrind/m_demangle/demangle.c index ca066a4b07..165012aeaf 100644 --- a/coregrind/m_demangle/demangle.c +++ b/coregrind/m_demangle/demangle.c @@ -123,8 +123,8 @@ void VG_(demangle) ( Bool do_cxx_demangling, Bool do_z_demangling, // - Rust "legacy" mangled symbols start with "_Z". // - Rust "v0" mangled symbols start with "_R". // - D programming language mangled symbols start with "_D". - // XXX: the Java/Rust/Ada demangling here probably doesn't work. See - // https://bugs.kde.org/show_bug.cgi?id=445235 for details. + // - Ada mangled symbols depend on the entity the symbol represents. + // See ada_demangle for details. if (do_cxx_demangling && VG_(clo_demangle) && orig != NULL && (VG_(lang_is_ada) || (orig[0] == '_' && (orig[1] == 'Z' || orig[1] == 'R' || orig[1] == 'D')))) { diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml index da7e811768..3a2ce461cd 100644 --- a/docs/xml/manual-core.xml +++ b/docs/xml/manual-core.xml @@ -1128,10 +1128,14 @@ that can report errors, e.g. Memcheck, but not Cachegrind.</para> <option><![CDATA[--demangle=<yes|no> [default: yes] ]]></option> </term> <listitem> - <para>Enable/disable automatic demangling (decoding) of C++ names. + <para>Enable/disable automatic demangling (decoding) of C++, D, + Rust, Java, Ada names. Enabled by default. When enabled, Valgrind will attempt to - translate encoded C++ names back to something approaching the - original. The demangler handles symbols mangled by g++ versions + translate encoded names in the listed languages back to something + approaching the original. + Note that the callgrind tool always disables Ada demangling in order + to differentiate overloaded functions and procedures in the callgraph. + The demangler handles symbols mangled by g++ versions 2.X, 3.X and 4.X.</para> <para>An important fact about demangling is that function names |
From: Philippe W. <phi...@sk...> - 2024-12-23 09:53:21
|
On Sun, 2024-12-22 at 21:46 +0100, Mark Wielaard wrote: > Hi Philippe, > > On Sun, Dec 22, 2024 at 12:29:34PM +0100, Philippe Waroquiers via Valgrind-developers wrote: > > The below change causes a build failure on the gcc110 compile farm > > > > valgrind revision: valgrind-3.25.0.GIT-544d41e525-20241221 > > C compiler: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) > > GDB: GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7 > > Assembler: GNU assembler version 2.27-44.base.el7_9.1 > > C library: GNU C Library (GNU libc) stable release version 2.17 > > uname -mrs: Linux 3.10.0-1160.105.1.el7.ppc64 ppc64 > > Vendor version: CentOS Linux 7 (AltArch) > > [...] > > /usr/bin/ld: unrecognized option '--no-warn-execstack' > > I saw Paul already added a configure check to see if the linker > supports --no-warn-execstack. Thanks Paul. > > But this is a really old system. Do we really want to keep supporting > gcc 4.8 and binutils 2.27? Both are 9 years old. CentOS7 and CentOS8 > stopped doing updates earlier this year. It would seem reasonable to upgrade gcc110 but I do not know what is the upgrade policy of the compile farm. If we stop testing on gcc110, do we have another powerpc where to do the nightly builds ? Thanks Philippe |
From: Florian K. <fl...@ei...> - 2024-12-23 09:25:59
|
Hi Paul, On 23.12.24 08:41, Paul Floyd via Valgrind-developers wrote: > > Adding a script to do the checking seems a good idea to me. make distcheck is > quite time consuming - it makes the docs, tarball, extracts the tarball to > _build and does a full build. Yes, I agree, that is wasteful (in time and energy). A script is the better choice. In particular as we have already bits and pieces to extract the needed information.. I wouldn't be able to get to it anytime soon, though, as I have a somewhat longish list of s390 stuff to do. Cheers, Florian |
From: Paul F. <pa...@so...> - 2024-12-23 08:25:06
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=81828eae0eeb2499eabdecae1a0e3ffdedc79d81 commit 81828eae0eeb2499eabdecae1a0e3ffdedc79d81 Author: Paul Floyd <pj...@wa...> Date: Mon Dec 23 09:22:45 2024 +0100 regtest: callgrind bug497723 again, order of output can vary The filter was picking up two mangled names but the order of thw two can vary between systems. So just filter one of them. Diff: --- callgrind/tests/bug497723.post.exp | 1 - callgrind/tests/bug497723.vgtest | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/callgrind/tests/bug497723.post.exp b/callgrind/tests/bug497723.post.exp index 095e3b850b..ab93de5986 100644 --- a/callgrind/tests/bug497723.post.exp +++ b/callgrind/tests/bug497723.post.exp @@ -1,2 +1 @@ ada__text_io__put_line -_ada_main diff --git a/callgrind/tests/bug497723.vgtest b/callgrind/tests/bug497723.vgtest index 92be389b07..f7f8371435 100644 --- a/callgrind/tests/bug497723.vgtest +++ b/callgrind/tests/bug497723.vgtest @@ -1,4 +1,4 @@ prog: ../../memcheck/tests/bug445235_ada_demangle vgopts: --callgrind-out-file=callgrind.out -post: awk '/fn.*ada_/{print $2}' callgrind.out +post: awk '/fn.*ada__/{print $2}' callgrind.out cleanup: rm callgrind.out |
From: Paul F. <pj...@wa...> - 2024-12-23 07:41:56
|
On 22-12-24 22:25, Florian Krohm wrote: > Yes, that could be done, even though it is kinda moot now that zstd.h > is being shipped. > > Another possibility would be to enhance check_makefile_consistency to > catch headers that are included but not shipped. That script runs as > part of post_regtest_checks already. But changing it is more complex > than integrating make distcheck there. Is it really too late to change? zstd was added after the release of 3.24 and it isn't an exported header. Adding a script to do the checking seems a good idea to me. make distcheck is quite time consuming - it makes the docs, tarball, extracts the tarball to _build and does a full build. A script could do something like foreach directory get list of dist headers from Makefile.am get list of used headers from Po files check lists match A+ Paul |
From: Florian K. <fl...@ei...> - 2024-12-22 21:25:32
|
Hi Mark, On 22.12.24 21:28, Mark Wielaard wrote: > > There is at least one buildbot that includes make distcheck. > https://builder.sourceware.org/buildbot/#/builders/valgrind-fedora-x86_64 > (But that did have zstd-devel installed so...) > That's good. >>> But if you have zstd devel headers >>> installed the build will pick up the /usr/include/zstd.h variant. >> >> Interesting. So, ideally, make distcheck ought to run on a machine >> where these headers are not installed. > > Or maybe we should rename the internal copy to vg-zstd.h ? Yes, that could be done, even though it is kinda moot now that zstd.h is being shipped. Another possibility would be to enhance check_makefile_consistency to catch headers that are included but not shipped. That script runs as part of post_regtest_checks already. But changing it is more complex than integrating make distcheck there. Cheers, Florian |