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
|
3
|
4
|
5
(1) |
6
(4) |
|
7
(6) |
8
(1) |
9
(3) |
10
|
11
(6) |
12
|
13
(1) |
|
14
|
15
(1) |
16
(2) |
17
(3) |
18
|
19
(1) |
20
|
|
21
|
22
(1) |
23
|
24
|
25
|
26
(14) |
27
(2) |
|
28
|
29
(2) |
30
|
31
|
|
|
|
|
From: Paul F. <pa...@so...> - 2023-05-06 11:33:39
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=5ea25f0b0ae711bd30c6d8b21db33a633ec3e4b9 commit 5ea25f0b0ae711bd30c6d8b21db33a633ec3e4b9 Author: Paul Floyd <pj...@wa...> Date: Sat May 6 13:30:44 2023 +0200 FreeBSD regtest: add small hack to mcclean_after_fork gdb script As far as I can tell this was a regression in FreeBSD gdb around Aug 2022 when the default install upgraded from 11.2 to 12.1 Diff: --- gdbserver_tests/mcclean_after_fork.stdinB.gdb | 3 +++ gdbserver_tests/mcclean_after_fork.stdoutB.exp | 1 + 2 files changed, 4 insertions(+) diff --git a/gdbserver_tests/mcclean_after_fork.stdinB.gdb b/gdbserver_tests/mcclean_after_fork.stdinB.gdb index bd2a5685f2..bbe795f95e 100644 --- a/gdbserver_tests/mcclean_after_fork.stdinB.gdb +++ b/gdbserver_tests/mcclean_after_fork.stdinB.gdb @@ -15,6 +15,9 @@ continue # put a read watchpoint on mem # we expect that the read watchpoint is not triggered in the child # (as we expect it will be cleared at fork). +# On FreeBSD directly calling rwatch mem causes an error +# calling print first fixes that as a workaround +p mem rwatch mem # continue diff --git a/gdbserver_tests/mcclean_after_fork.stdoutB.exp b/gdbserver_tests/mcclean_after_fork.stdoutB.exp index 590e4c93b9..c7bdba12d2 100644 --- a/gdbserver_tests/mcclean_after_fork.stdoutB.exp +++ b/gdbserver_tests/mcclean_after_fork.stdoutB.exp @@ -4,6 +4,7 @@ Breakpoint 3 at 0x........: file clean_after_fork.c, line 22. Continuing. Breakpoint 1, main () at clean_after_fork.c:9 9 pid = fork(); +$1 = 0 Hardware read watchpoint 4: mem Continuing. Hardware read watchpoint 4: mem |
|
From: Paul F. <pa...@so...> - 2023-05-06 05:55:18
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=92a661ebf328b4cf0027234a33952e6e13964b5d commit 92a661ebf328b4cf0027234a33952e6e13964b5d Author: Paul Floyd <pj...@wa...> Date: Sat May 6 07:54:45 2023 +0200 Bug 469049 - link failure on ppc64 (big endian) valgrind 3.20 Diff: --- NEWS | 1 + coregrind/Makefile.am | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index f44cfde1dc..0b54c9cb7b 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,7 @@ bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather than mailing the developers (or mailing lists) directly -- bugs that are not entered into bugzilla tend to get forgotten about or ignored. +469049 link failure on ppc64 (big endian) valgrind 3.20 469146 massif --ignore-fn does not ignore inlined functions To see details of a given bug, visit diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am index 80115f21fe..553211782f 100644 --- a/coregrind/Makefile.am +++ b/coregrind/Makefile.am @@ -334,7 +334,6 @@ COREGRIND_SOURCES_COMMON = \ m_seqmatch.c \ m_signals.c \ m_sparsewa.c \ - m_stacks.c \ m_stacktrace.c \ m_syscall.c \ m_threadstate.c \ @@ -394,7 +393,6 @@ COREGRIND_SOURCES_COMMON = \ m_dispatch/dispatch-x86-solaris.S \ m_dispatch/dispatch-amd64-solaris.S \ m_gdbserver/inferiors.c \ - m_gdbserver/m_gdbserver.c \ m_gdbserver/regcache.c \ m_gdbserver/remote-utils.c \ m_gdbserver/server.c \ @@ -493,7 +491,9 @@ COREGRIND_SOURCES_COMMON = \ # These objects are added to the libcoregrind library. NOLTO_COREGRIND_SOURCES_COMMON = \ m_libcsetjmp.c \ - m_main.c + m_main.c \ + m_stacks.c \ + m_gdbserver/m_gdbserver.c noinst_LIBRARIES = libnolto_coregrind-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a libnolto_coregrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_a_SOURCES = \ $(NOLTO_COREGRIND_SOURCES_COMMON) |
|
From: Paul F. <pa...@so...> - 2023-05-06 05:47:07
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=645de069956aa667b924026d2125433461766e4d commit 645de069956aa667b924026d2125433461766e4d Author: Paul Floyd <pj...@wa...> Date: Sat May 6 07:45:47 2023 +0200 Bug 469146 - massif --ignore-fn does not ignore inlined functions Diff: --- .gitignore | 1 + NEWS | 2 +- coregrind/m_debuginfo/debuginfo.c | 26 +++++++++++++++++++++++++ include/pub_tool_debuginfo.h | 4 +++- massif/docs/ms-manual.xml | 11 +++++++++++ massif/ms_main.c | 31 ++++++++++++++++++++++++----- massif/tests/Makefile.am | 4 ++++ massif/tests/bug469146.cpp | 41 +++++++++++++++++++++++++++++++++++++++ massif/tests/bug469146.post.exp | 38 ++++++++++++++++++++++++++++++++++++ massif/tests/bug469146.stderr.exp | 2 ++ massif/tests/bug469146.vgtest | 8 ++++++++ 11 files changed, 161 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 6155f8f355..076e168ded 100644 --- a/.gitignore +++ b/.gitignore @@ -772,6 +772,7 @@ /massif/tests/basic /massif/tests/basic_malloc /massif/tests/big-alloc +/massif/tests/bug469146 /massif/tests/culling1 /massif/tests/culling2 /massif/tests/custom_alloc diff --git a/NEWS b/NEWS index e269d128b9..f44cfde1dc 100644 --- a/NEWS +++ b/NEWS @@ -26,7 +26,7 @@ bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather than mailing the developers (or mailing lists) directly -- bugs that are not entered into bugzilla tend to get forgotten about or ignored. - +469146 massif --ignore-fn does not ignore inlined functions To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c index 2d2accc999..22b41def21 100644 --- a/coregrind/m_debuginfo/debuginfo.c +++ b/coregrind/m_debuginfo/debuginfo.c @@ -2289,6 +2289,32 @@ Bool VG_(get_fnname) ( DiEpoch ep, Addr a, const HChar** buf ) /*offsetP*/NULL ); } + +Bool VG_(get_fnname_inl) ( DiEpoch ep, Addr a, const HChar** buf, + const InlIPCursor* iipc ) +{ + if (iipc) { + vg_assert(is_DI_valid_for_epoch(iipc->di, ep)); + } + + if (is_bottom(iipc)) { + return get_sym_name ( /*C++-demangle*/True, /*Z-demangle*/True, + /*below-main-renaming*/True, + ep, a, buf, + /*match_anywhere_in_fun*/True, + /*show offset?*/False, + /*text sym*/True, + /*offsetP*/NULL ); + } else { + const DiInlLoc *next_inl = iipc && iipc->next_inltab >= 0 + ? & iipc->di->inltab[iipc->next_inltab] + : NULL; + vg_assert (next_inl); + *buf = next_inl->inlinedfn; + return True; + } +} + /* This is available to tools... always demangle C++ names, match anywhere in function, and show offset if nonzero. NOTE: See IMPORTANT COMMENT above about persistence and ownership diff --git a/include/pub_tool_debuginfo.h b/include/pub_tool_debuginfo.h index 078c562b8e..7631ff67a6 100644 --- a/include/pub_tool_debuginfo.h +++ b/include/pub_tool_debuginfo.h @@ -210,7 +210,9 @@ extern Bool VG_(next_IIPC)(InlIPCursor *iipc); /* Free all memory associated with iipc. */ extern void VG_(delete_IIPC)(InlIPCursor *iipc); - +/* Similar to VG_(get_fnname) but uses InlIPCursor and handles inline functions */ +extern Bool VG_(get_fnname_inl) ( DiEpoch ep, Addr a, const HChar** fnname, + const InlIPCursor* iipc ); /* Get an XArray of StackBlock which describe the stack (auto) blocks for this ip. The caller is expected to free the XArray at some diff --git a/massif/docs/ms-manual.xml b/massif/docs/ms-manual.xml index b589071556..3dff259952 100644 --- a/massif/docs/ms-manual.xml +++ b/massif/docs/ms-manual.xml @@ -760,6 +760,17 @@ various places online. <screen><![CDATA[ --alloc-fn='operator new(unsigned, std::nothrow_t const&)' ]]></screen> + Arguments of type <computeroutput>size_t</computeroutput> need to be replaced + with <computeroutput>unsigned long</computeroutput> on 64bit platforms and <computeroutput>unsigned</computeroutput> + on 32bit platforms. + </para> + + <para><option>--alloc-fn</option> will work with inline functions. + Inline function names are not mangled, which means that you only need + to provide the function name and not the argument list. + </para> + + <para><option>--alloc-fn</option> does not support wildcards. </para> </listitem> </varlistentry> diff --git a/massif/ms_main.c b/massif/ms_main.c index f3500c367d..1040ad53f4 100644 --- a/massif/ms_main.c +++ b/massif/ms_main.c @@ -506,6 +506,8 @@ void filter_IPs (Addr* ips, Int n_ips, { Int i; Bool top_has_fnname = False; + Bool is_alloc_fn = False; + Bool is_inline_fn = False; const HChar *fnname; *top = 0; @@ -519,9 +521,21 @@ void filter_IPs (Addr* ips, Int n_ips, // 0x1 0x2 0x3 alloc func1 main // became 0x1 0x2 0x3 func1 main const DiEpoch ep = VG_(current_DiEpoch)(); - for (i = *top; i < n_ips; i++) { - top_has_fnname = VG_(get_fnname)(ep, ips[*top], &fnname); - if (top_has_fnname && VG_(strIsMemberXA)(alloc_fns, fnname)) { + InlIPCursor *iipc = NULL; + + for (i = *top; i < n_ips; ++i) { + iipc = VG_(new_IIPC)(ep, ips[i]); + do { + top_has_fnname = VG_(get_fnname_inl)(ep, ips[i], &fnname, iipc); + is_alloc_fn = top_has_fnname && VG_(strIsMemberXA)(alloc_fns, fnname); + is_inline_fn = VG_(next_IIPC)(iipc); + if (is_alloc_fn && is_inline_fn) { + VERB(4, "filtering inline alloc fn %s\n", fnname); + } + } while (is_alloc_fn && is_inline_fn); + VG_(delete_IIPC)(iipc); + + if (is_alloc_fn) { VERB(4, "filtering alloc fn %s\n", fnname); (*top)++; (*n_ips_sel)--; @@ -534,8 +548,15 @@ void filter_IPs (Addr* ips, Int n_ips, if (*n_ips_sel > 0 && VG_(sizeXA)(ignore_fns) > 0) { if (!top_has_fnname) { // top has no fnname => search for the first entry that has a fnname - for (i = *top; i < n_ips && !top_has_fnname; i++) { - top_has_fnname = VG_(get_fnname)(ep, ips[i], &fnname); + for (i = *top; i < n_ips && !top_has_fnname; ++i) { + iipc = VG_(new_IIPC)(ep, ips[i]); + do { + top_has_fnname = VG_(get_fnname_inl)(ep, ips[i], &fnname, iipc); + if (top_has_fnname) { + break; + } + } while (VG_(next_IIPC)(iipc)); + VG_(delete_IIPC)(iipc); } } if (top_has_fnname && VG_(strIsMemberXA)(ignore_fns, fnname)) { diff --git a/massif/tests/Makefile.am b/massif/tests/Makefile.am index 84c9b1273a..2f3a84ecc7 100644 --- a/massif/tests/Makefile.am +++ b/massif/tests/Makefile.am @@ -11,6 +11,7 @@ EXTRA_DIST = \ big-alloc.post.exp big-alloc.post.exp-64bit big-alloc.post.exp-ppc64 \ big-alloc.stderr.exp big-alloc.vgtest \ big-alloc.post.exp-x86-freebsd \ + bug469146.post.exp bug469146.stderr.exp bug469146.vgtest \ deep-A.post.exp deep-A.stderr.exp deep-A.vgtest \ deep-B.post.exp deep-B.stderr.exp deep-B.vgtest \ deep-C.post.exp deep-C.stderr.exp deep-C.vgtest \ @@ -59,6 +60,7 @@ check_PROGRAMS = \ alloc-fns \ basic \ big-alloc \ + bug469146 \ culling1 culling2 \ custom_alloc \ deep \ @@ -86,6 +88,8 @@ AM_CFLAGS += $(AM_FLAG_M3264_PRI) AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) # C++ tests +bug469146_SOURCES = bug469146.cpp +bug469146_CXXFLAGS = $(AM_CFLAGS) -O2 new_cpp_SOURCES = new-cpp.cpp overloaded_new_SOURCES = overloaded-new.cpp # pre C++11 compilers don't have exception specs diff --git a/massif/tests/bug469146.cpp b/massif/tests/bug469146.cpp new file mode 100644 index 0000000000..268f07c0a8 --- /dev/null +++ b/massif/tests/bug469146.cpp @@ -0,0 +1,41 @@ +#include <cstdlib> + +// this is inline so it filters as "filter_function1" +static inline int* filter_function1(std::size_t size) +{ + return new int[size]; +} + +// this is out of line C++ +// int is deliberately used here instead of size_t +// so that it is 32/b4 bit portable +// this filters as "filter_function2(int)" +int* __attribute__((optnone)) __attribute__((noinline)) filter_function2(int size) +{ + return new int[static_cast<std::size_t>(size)]; +} + +// finally extern "C" +// this filters as "filter_function3" +extern "C" +int* __attribute__((optnone)) __attribute__((noinline)) filter_function3(std::size_t size) +{ + return new int[size]; +} + +size_t func() +{ + int * mem1 = filter_function1(1000U); + int * mem2 = filter_function2(1000); + int * mem3 = filter_function3(1000U); + delete [] mem1; + delete [] mem2; + delete [] mem3; + + return (size_t)mem1/2 + (size_t)mem2/2 + (size_t)mem3/2; +} + +int main() +{ + return func(); +} diff --git a/massif/tests/bug469146.post.exp b/massif/tests/bug469146.post.exp new file mode 100644 index 0000000000..1e9936cbe1 --- /dev/null +++ b/massif/tests/bug469146.post.exp @@ -0,0 +1,38 @@ +-------------------------------------------------------------------------------- +Command: ./bug469146 +Massif arguments: --stacks=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element --ignore-fn=_GLOBAL__sub_I_eh_alloc.cc --ignore-fn=call_init.part.0 --ignore-fn=call_init --ignore-fn=filter_function1 --ignore-fn=filter_function2(int) --ignore-fn=filter_function3 +ms_print arguments: massif.out +-------------------------------------------------------------------------------- + + + B + 1^ + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + | + 0 +----------------------------------------------------------------------->B + 0 1 + +Number of snapshots: 1 + Detailed snapshots: [] + +-------------------------------------------------------------------------------- + n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B) +-------------------------------------------------------------------------------- + 0 0 0 0 0 0 diff --git a/massif/tests/bug469146.stderr.exp b/massif/tests/bug469146.stderr.exp new file mode 100644 index 0000000000..139597f9cb --- /dev/null +++ b/massif/tests/bug469146.stderr.exp @@ -0,0 +1,2 @@ + + diff --git a/massif/tests/bug469146.vgtest b/massif/tests/bug469146.vgtest new file mode 100644 index 0000000000..68585a4514 --- /dev/null +++ b/massif/tests/bug469146.vgtest @@ -0,0 +1,8 @@ +prog: bug469146 +vgopts: --stacks=no --time-unit=B --massif-out-file=massif.out +vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook +vgopts: --ignore-fn=get_or_create_key_element --ignore-fn=_GLOBAL__sub_I_eh_alloc.cc --ignore-fn=call_init.part.0 +vgopts: --ignore-fn=call_init +vgopts: --ignore-fn=filter_function1 --ignore-fn="filter_function2(int)" --ignore-fn=filter_function3 +post: perl ../../massif/ms_print massif.out | sed 's/gcc[0-9]*/gcc/' | ../../tests/filter_addresses +cleanup: rm massif.out |
|
From: Paul F. <pa...@so...> - 2023-05-06 05:30:54
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=c324a6b1396e9e3827e4625616fc75c6d926a772 commit c324a6b1396e9e3827e4625616fc75c6d926a772 Author: Paul Floyd <pj...@wa...> Date: Sat May 6 07:28:51 2023 +0200 FreeBSD: deactivate helgrind/tests/tls_threads No libc tunable, and I haven't seen any way to hack the libc internals via debuginfo as was previously done on Linux. Diff: --- helgrind/tests/tls_threads.vgtest | 1 + 1 file changed, 1 insertion(+) diff --git a/helgrind/tests/tls_threads.vgtest b/helgrind/tests/tls_threads.vgtest index 5fb4587372..aea30e565a 100644 --- a/helgrind/tests/tls_threads.vgtest +++ b/helgrind/tests/tls_threads.vgtest @@ -1,2 +1,3 @@ +prereq: ! ../../tests/os_test freebsd prog: tls_threads vgopts: -q --sim-hints=no-nptl-pthread-stackcache |