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
(1) |
2
(3) |
|
3
(6) |
4
(2) |
5
(2) |
6
(5) |
7
(4) |
8
(3) |
9
(3) |
|
10
(4) |
11
(7) |
12
(3) |
13
(4) |
14
|
15
|
16
|
|
17
|
18
|
19
(6) |
20
|
21
|
22
|
23
|
|
24
|
25
|
26
|
27
(2) |
28
|
29
|
30
|
|
From: Mark W. <ma...@so...> - 2022-04-07 21:51:18
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=2c0fb665699309e1e02a02084324748f46a6c788 commit 2c0fb665699309e1e02a02084324748f46a6c788 Author: Randy MacLeod <Ran...@wi...> Date: Tue Oct 16 21:01:04 2018 -0400 Fix out of tree builds. The paths to these files need to be fully specified in the out of tree build case. glibc-2.X.supp is a generated file so the full path is deliberately not specified in that case. Also adjust the mpi include dir location as valgrind.h is generated as well and needs to be taken out of build dir. Also adjust the location of generated xml file. And the search paths for the xmllint, xsltproc and xmlto programs. Signed-off-by: Alexander Kanavin <ale...@gm...> Diff: --- NEWS | 1 + configure.ac | 72 ++++++++++++++++++++++++++++---------------------------- docs/Makefile.am | 13 ++++++---- mpi/Makefile.am | 4 ++-- 4 files changed, 47 insertions(+), 43 deletions(-) diff --git a/NEWS b/NEWS index d3bb86d0f6..1fa918dfbd 100644 --- a/NEWS +++ b/NEWS @@ -71,6 +71,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 444925 fexecve syscall wrapper not properly implemented 445032 valgrind/memcheck crash with SIGSEGV when SIGVTALRM timer used and libthr.so associated +445211 Fix out of tree builds 445300 [PATCH] Fix building tests with Musl 445011 SIGCHLD is sent when valgrind uses debuginfod-find 445354 arm64 backend: incorrect code emitted for doubleword CAS diff --git a/configure.ac b/configure.ac index 04c306efbb..4bde7318cf 100755 --- a/configure.ac +++ b/configure.ac @@ -454,7 +454,7 @@ case "${host_os}" in ;; esac - DEFAULT_SUPP="freebsd.supp freebsd-helgrind.supp freebsd-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/freebsd.supp $srcdir/freebsd-helgrind.supp $srcdir/freebsd-drd.supp ${DEFAULT_SUPP}" ;; *darwin*) @@ -493,56 +493,56 @@ case "${host_os}" in 9.*) AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard]) AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin9.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin9-drd.supp ${DEFAULT_SUPP}" ;; 10.*) AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard]) AC_DEFINE([DARWIN_VERS], DARWIN_10_6, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin10.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; 11.*) AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion]) AC_DEFINE([DARWIN_VERS], DARWIN_10_7, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin11.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin11.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; 12.*) AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion]) AC_DEFINE([DARWIN_VERS], DARWIN_10_8, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin12.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin12.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; 13.*) AC_MSG_RESULT([Darwin 13.x (${kernel}) / Mac OS X 10.9 Mavericks]) AC_DEFINE([DARWIN_VERS], DARWIN_10_9, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin13.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin13.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; 14.*) AC_MSG_RESULT([Darwin 14.x (${kernel}) / Mac OS X 10.10 Yosemite]) AC_DEFINE([DARWIN_VERS], DARWIN_10_10, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin14.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin14.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; 15.*) AC_MSG_RESULT([Darwin 15.x (${kernel}) / Mac OS X 10.11 El Capitan]) AC_DEFINE([DARWIN_VERS], DARWIN_10_11, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin15.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin15.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; 16.*) AC_MSG_RESULT([Darwin 16.x (${kernel}) / macOS 10.12 Sierra]) AC_DEFINE([DARWIN_VERS], DARWIN_10_12, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin16.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin16.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; 17.*) AC_MSG_RESULT([Darwin 17.x (${kernel}) / macOS 10.13 High Sierra]) AC_DEFINE([DARWIN_VERS], DARWIN_10_13, [Darwin / Mac OS X version]) - DEFAULT_SUPP="darwin17.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin17.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/darwin10-drd.supp ${DEFAULT_SUPP}" ;; *) AC_MSG_RESULT([unsupported (${kernel})]) @@ -558,10 +558,10 @@ case "${host_os}" in uname_v=$( uname -v ) case "$uname_v" in 11.4.*) - DEFAULT_SUPP="solaris12.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/solaris12.supp ${DEFAULT_SUPP}" ;; *) - DEFAULT_SUPP="solaris11.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/solaris11.supp ${DEFAULT_SUPP}" ;; esac ;; @@ -569,7 +569,7 @@ case "${host_os}" in solaris2.12*) AC_MSG_RESULT([ok (${host_os})]) VGCONF_OS="solaris" - DEFAULT_SUPP="solaris12.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/solaris12.supp ${DEFAULT_SUPP}" ;; *) @@ -1283,15 +1283,15 @@ AC_MSG_CHECKING([the glibc version]) case "${GLIBC_VERSION}" in 2.2) AC_MSG_RESULT(${GLIBC_VERSION} family) - DEFAULT_SUPP="glibc-2.2.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/glibc-2.2.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/glibc-2.2-LinuxThreads-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ;; 2.[[3-6]]) AC_MSG_RESULT(${GLIBC_VERSION} family) - DEFAULT_SUPP="glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/glibc-${GLIBC_VERSION}.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ;; 2.[[7-9]]) AC_MSG_RESULT(${GLIBC_VERSION} family) @@ -1304,8 +1304,8 @@ case "${GLIBC_VERSION}" in AC_DEFINE([GLIBC_MANDATORY_STRLEN_REDIRECT], 1, [Define to 1 if strlen() has been optimized heavily (amd64 glibc >= 2.10)]) DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ;; 2.*) AC_MSG_RESULT(${GLIBC_VERSION} family) @@ -1314,8 +1314,8 @@ case "${GLIBC_VERSION}" in AC_DEFINE([GLIBC_MANDATORY_INDEX_AND_STRLEN_REDIRECT], 1, [Define to 1 if index() and strlen() have been optimized heavily (x86 glibc >= 2.12)]) DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-helgrind.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" ;; darwin) AC_MSG_RESULT(Darwin) @@ -1330,7 +1330,7 @@ case "${GLIBC_VERSION}" in bionic) AC_MSG_RESULT(Bionic) AC_DEFINE([BIONIC_LIBC], 1, [Define to 1 if you're using Bionic]) - DEFAULT_SUPP="bionic.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/bionic.supp ${DEFAULT_SUPP}" ;; solaris) AC_MSG_RESULT(Solaris) @@ -1340,7 +1340,7 @@ case "${GLIBC_VERSION}" in musl) AC_MSG_RESULT(Musl) AC_DEFINE([MUSL_LIBC], 1, [Define to 1 if you're using Musl libc]) - DEFAULT_SUPP="musl.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/musl.supp ${DEFAULT_SUPP}" ;; 2.0|2.1|*) AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) @@ -1359,8 +1359,8 @@ if test "$VGCONF_OS" != "solaris"; then # attempt to detect whether such libraries are installed on the # build machine (or even if any X facilities are present); just # add the suppressions antidisirregardless. - DEFAULT_SUPP="xfree-4.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="xfree-3.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/xfree-4.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="$srcdir/xfree-3.supp ${DEFAULT_SUPP}" fi diff --git a/docs/Makefile.am b/docs/Makefile.am index 5c777a263a..3850d7b744 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -124,11 +124,12 @@ LOGFILE = print.log # validation stuff XMLLINT = xmllint -XMLLINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent +XMLLINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent \ + --path $(top_builddir)/docs/xml # stylesheet processor XSLTPROC = xsltproc -XSLTPROC_FLAGS = --nonet --xinclude +XSLTPROC_FLAGS = --nonet --xinclude --path $(top_builddir)/docs/xml # stylesheets XSL_HTML_CHUNK_STYLE = $(mylibdir)/vg-html-chunk.xsl @@ -143,7 +144,7 @@ XSL_MAN_STYLES = \ # Input files for valid-manual and valid-manpages MANUAL_XML_FILES = $(myxmldir)/index.xml \ - $(myxmldir)/vg-entities.xml \ + $(top_builddir)/docs/xml/vg-entities.xml \ $(myxmldir)/quick-start-guide.xml \ $(myxmldir)/manual.xml \ $(myxmldir)/manual-intro.xml \ @@ -238,7 +239,8 @@ print-docs: cp $(myimgdir)/*.png $(myprintdir)/images && \ xmlto -v $(WITH_FOP) --stringparam=keep.relative.image.uris="1" \ -x $(XSL_FO_STYLE) \ - --searchpath print pdf $(myxmldir)/index.xml &> $(LOGFILE) && \ + --searchpath $(top_builddir)/docs/xml:print \ + pdf $(myxmldir)/index.xml &> $(LOGFILE) && \ echo "Generating PS file: $(myprintdir)/index.ps ..." && \ pdftops index.pdf && \ mv index.pdf index.ps $(myprintdir) && \ @@ -353,7 +355,8 @@ download-docs: cp $(myimgdir)/*.png $(vgdir)/print/images/ xmlto -v $(WITH_FOP) --stringparam=keep.relative.image.uris="1" \ -x $(XSL_FO_STYLE) \ - --searchpath print pdf $(myxmldir)/index.xml &> $(LOGFILE) + --searchpath $(top_builddir)/docs/xml:print \ + pdf $(myxmldir)/index.xml &> $(LOGFILE) mv index.pdf $(vgdir)/print/manual.pdf @echo "" @echo "Generating valgrind_manual.ps.bz2 ..." diff --git a/mpi/Makefile.am b/mpi/Makefile.am index 69b69aa925..e57e5aa85c 100644 --- a/mpi/Makefile.am +++ b/mpi/Makefile.am @@ -56,14 +56,14 @@ endif if BUILD_MPIWRAP_PRI libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES = libmpiwrap.c -libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = -I$(top_srcdir)/include +libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = -I$(top_builddir)/include libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS = \ $(CFLAGS_MPI) $(MPI_FLAG_M3264_PRI) -Wno-deprecated-declarations libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS = $(LDFLAGS_MPI) endif if BUILD_MPIWRAP_SEC libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = libmpiwrap.c -libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = -I$(top_srcdir)/include +libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = -I$(top_builddir)/include libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \ $(CFLAGS_MPI) $(MPI_FLAG_M3264_SEC) -Wno-deprecated-declarations libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS = $(LDFLAGS_MPI) |
|
From: Mark W. <ma...@so...> - 2022-04-07 21:42:46
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=7959d0661b2bce47a0f85b219f328b2239c4ffff commit 7959d0661b2bce47a0f85b219f328b2239c4ffff Author: Mark Wielaard <ma...@kl...> Date: Thu Apr 7 22:02:12 2022 +0200 Update mc_main Copyright message to include 2022 We haven't ran auxprogs/change-copyright-year since we switched to git. This means most Copyright year ranges still say 2017. The script also doesn't work for years >= 2020. Instead of trying to figure out how to correctly update the per file Copyright year ranges just update the main copyright notice that the program outputs on startup. Diff: --- memcheck/mc_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index 47b370bf51..979a654097 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -8348,7 +8348,7 @@ static void mc_pre_clo_init(void) VG_(details_version) (NULL); VG_(details_description) ("a memory error detector"); VG_(details_copyright_author)( - "Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al."); + "Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al."); VG_(details_bug_reports_to) (VG_BUGS_TO); VG_(details_avg_translation_sizeB) ( 640 ); |
|
From: Mark W. <ma...@so...> - 2022-04-07 20:57:45
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=2ad93350446a49a5b0093548b63d43195d99d4ae commit 2ad93350446a49a5b0093548b63d43195d99d4ae Author: Aaron Merey <am...@re...> Date: Tue Jan 25 20:24:18 2022 -0500 Bug 445011: SIGCHLD is sent when valgrind uses debuginfod-find Valgrind fork+execs debuginfod-find in order to perform debuginfod queries. Any SIGCHLD debuginfod-find sends upon termination can mistakenly be delivered to the client running under valgrind. To prevent this, record in a hash table the PID of each process valgrind forks for internal use. Do not send SIGCHLD to the client if it is from a PID in this hash table. https://bugs.kde.org/show_bug.cgi?id=445011 Diff: --- NEWS | 1 + coregrind/m_libcproc.c | 60 ++++++++++++++++++++++++++++++++++++++++++++ coregrind/m_signals.c | 26 +++++++++++++++++++ coregrind/pub_core_signals.h | 10 ++++++++ include/vki/vki-darwin.h | 6 +++++ include/vki/vki-freebsd.h | 10 ++++++++ include/vki/vki-linux.h | 10 ++++++++ 7 files changed, 123 insertions(+) diff --git a/NEWS b/NEWS index 924032b3c1..d3bb86d0f6 100644 --- a/NEWS +++ b/NEWS @@ -72,6 +72,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 445032 valgrind/memcheck crash with SIGSEGV when SIGVTALRM timer used and libthr.so associated 445300 [PATCH] Fix building tests with Musl +445011 SIGCHLD is sent when valgrind uses debuginfod-find 445354 arm64 backend: incorrect code emitted for doubleword CAS 445415 arm64 front end: alignment checks missing for atomic instructions 445504 Using C++ condition_variable results in bogus "mutex is locked simultaneously by two threads" warning diff --git a/coregrind/m_libcproc.c b/coregrind/m_libcproc.c index 7425c9c887..b94cabcf1f 100644 --- a/coregrind/m_libcproc.c +++ b/coregrind/m_libcproc.c @@ -38,6 +38,7 @@ #include "pub_core_libcsignal.h" #include "pub_core_seqmatch.h" #include "pub_core_mallocfree.h" +#include "pub_core_signals.h" #include "pub_core_syscall.h" #include "pub_core_xarray.h" #include "pub_core_clientstate.h" @@ -888,14 +889,68 @@ Int VG_(ptrace) ( Int request, Int pid, void *addr, void *data ) Fork ------------------------------------------------------------------ */ +/* Record PID of a child process in order to avoid sending any SIGCHLD from + it to the client. If PID is 0 then this is the child process and it + should synch with the parent to ensure it can't send any SIGCHLD before + the parent has registered its PID. + + FDS should be initialized with VG_(pipe). This function closes both + file descriptors. */ +static void register_sigchld_ignore ( Int pid, Int fds[2]) +{ + Int child_wait = 1; + ht_ignore_node *n; + + if (fds[0] < 0 || fds[1] < 0) + return; + + if (pid == 0) { + /* Before proceeding, ensure parent has recorded child PID in map + of SIGCHLD to ignore */ + while (child_wait == 1) + { + if (VG_(read)(fds[0], &child_wait, sizeof(Int)) <= 0) { + VG_(message)(Vg_DebugMsg, + "warning: Unable to record PID of internal process (read)\n"); + child_wait = 0; + } + } + + VG_(close)(fds[0]); + return; + } + + n = VG_(malloc)("ht.ignore.node", sizeof(ht_ignore_node)); + n->key = pid; + if (ht_sigchld_ignore == NULL) + ht_sigchld_ignore = VG_(HT_construct)("ht.sigchld.ignore"); + VG_(HT_add_node)(ht_sigchld_ignore, n); + + child_wait = 0; + if (VG_(write)(fds[1], &child_wait, sizeof(Int)) <= 0) + VG_(message)(Vg_DebugMsg, + "warning: Unable to record PID of internal process (write)\n"); + + VG_(close)(fds[1]); +} + Int VG_(fork) ( void ) { + Int fds[2]; + + if (VG_(pipe)(fds) != 0) { + VG_(message)(Vg_DebugMsg, + "warning: Unable to record PID of internal process (pipe)\n"); + fds[0] = fds[1] = -1; + } + # if defined(VGP_arm64_linux) || defined(VGP_nanomips_linux) SysRes res; res = VG_(do_syscall5)(__NR_clone, VKI_SIGCHLD, (UWord)NULL, (UWord)NULL, (UWord)NULL, (UWord)NULL); if (sr_isError(res)) return -1; + register_sigchld_ignore(sr_Res(res), fds); return sr_Res(res); # elif defined(VGO_linux) || defined(VGO_freebsd) @@ -903,6 +958,7 @@ Int VG_(fork) ( void ) res = VG_(do_syscall0)(__NR_fork); if (sr_isError(res)) return -1; + register_sigchld_ignore(sr_Res(res), fds); return sr_Res(res); # elif defined(VGO_darwin) @@ -912,8 +968,10 @@ Int VG_(fork) ( void ) return -1; /* on success: wLO = child pid; wHI = 1 for child, 0 for parent */ if (sr_ResHI(res) != 0) { + register_sigchld_ignore(0, fds); return 0; /* this is child: return 0 instead of child pid */ } + register_sigchld_ignore(sr_Res(res), fds); return sr_Res(res); # elif defined(VGO_solaris) @@ -930,8 +988,10 @@ Int VG_(fork) ( void ) child, val2 = 0 in the parent process, 1 in the child process. */ if (sr_ResHI(res) != 0) { + register_sigchld_ignore(0, fds); return 0; } + register_sigchld_ignore(sr_Res(res), fds); return sr_Res(res); # else diff --git a/coregrind/m_signals.c b/coregrind/m_signals.c index 9210db8e5e..bfddbe392a 100644 --- a/coregrind/m_signals.c +++ b/coregrind/m_signals.c @@ -207,6 +207,7 @@ #include "pub_core_aspacemgr.h" #include "pub_core_errormgr.h" #include "pub_core_gdbserver.h" +#include "pub_core_hashtable.h" #include "pub_core_libcbase.h" #include "pub_core_libcassert.h" #include "pub_core_libcprint.h" @@ -247,6 +248,9 @@ typedef struct SigQueue { vki_siginfo_t sigs[N_QUEUED_SIGNALS]; } SigQueue; +/* Hash table of PIDs from which SIGCHLD is ignored. */ +VgHashTable *ht_sigchld_ignore = NULL; + /* ------ Macros for pulling stuff out of ucontexts ------ */ /* Q: what does VG_UCONTEXT_SYSCALL_SYSRES do? A: let's suppose the @@ -2058,6 +2062,28 @@ static void deliver_signal ( ThreadId tid, const vki_siginfo_t *info, void *handler_fn; ThreadState *tst = VG_(get_ThreadState)(tid); +#if defined(VGO_linux) + /* If this signal is SIGCHLD and it came from a process which valgrind + created for some internal use, then it should not be delivered to + the client. */ + if (sigNo == VKI_SIGCHLD && ht_sigchld_ignore != NULL) { + Int pid = info->_sifields._sigchld._pid; + ht_ignore_node *n = VG_(HT_lookup)(ht_sigchld_ignore, pid); + + if (n != NULL) { + /* If the child has terminated, remove its PID from the + ignore list. */ + if (info->si_code == VKI_CLD_EXITED + || info->si_code == VKI_CLD_KILLED + || info->si_code == VKI_CLD_DUMPED) { + VG_(HT_remove)(ht_sigchld_ignore, pid); + VG_(free)(n); + } + return; + } + } +#endif + if (VG_(clo_trace_signals)) VG_(dmsg)("delivering signal %d (%s):%d to thread %u\n", sigNo, VG_(signame)(sigNo), info->si_code, tid ); diff --git a/coregrind/pub_core_signals.h b/coregrind/pub_core_signals.h index ae8555ba80..1c86ee5f63 100644 --- a/coregrind/pub_core_signals.h +++ b/coregrind/pub_core_signals.h @@ -35,6 +35,7 @@ #include "pub_tool_signals.h" // I want to get rid of this header... #include "pub_core_vki.h" // vki_sigset_t et al. +#include "pub_tool_hashtable.h" /* Highest signal the kernel will let us use */ extern Int VG_(max_signal); @@ -85,6 +86,15 @@ extern Bool VG_(extend_stack)(ThreadId tid, Addr addr); before using that signal to kill the process. */ extern void VG_(set_default_handler)(Int sig); +/* Hash table of PIDs from which SIGCHLD is ignored. */ +extern VgHashTable *ht_sigchld_ignore; + +/* Hash table node where each key represents a PID. */ +typedef struct _ht_ignore_node { + struct _ht_ignore_node *next; + UWord key; +} ht_ignore_node; + #endif // __PUB_CORE_SIGNALS_H /*--------------------------------------------------------------------*/ diff --git a/include/vki/vki-darwin.h b/include/vki/vki-darwin.h index dbae64bc49..5a01c3cbd9 100644 --- a/include/vki/vki-darwin.h +++ b/include/vki/vki-darwin.h @@ -525,6 +525,12 @@ typedef #define VKI_BUS_ADRERR BUS_ADRERR #define VKI_BUS_OBJERR BUS_OBJERR #define VKI_TRAP_BRKPT TRAP_BRKPT +#define VKI_CLD_EXITED CLD_EXITED +#define VKI_CLD_KILLED CLD_KILLED +#define VKI_CLD_DUMPED CLD_DUMPED +#define VKI_CLD_TRAPPED CLD_TRAPPED +#define VKI_CLD_STOPPED CLD_STOPPED +#define VKI_CLD_CONTINUED CLD_CONTINUED /* JRS: not 100% sure, but I think these two are correct */ #define VKI_SA_ONESHOT SA_RESETHAND diff --git a/include/vki/vki-freebsd.h b/include/vki/vki-freebsd.h index d467f017e5..f50598e093 100644 --- a/include/vki/vki-freebsd.h +++ b/include/vki/vki-freebsd.h @@ -609,6 +609,16 @@ typedef struct vki_siginfo { #define VKI_TRAP_DTRACE 3 /* DTrace induced trap. */ #define VKI_TRAP_CAP 4 /* Capabilities protective trap. */ +/* + * SIGCHLD si_codes + */ +#define VKI_CLD_EXITED 1 /* child has exited */ +#define VKI_CLD_KILLED 2 /* child was killed */ +#define VKI_CLD_DUMPED 3 /* child terminated abnormally */ +#define VKI_CLD_TRAPPED 4 /* traced child has trapped */ +#define VKI_CLD_STOPPED 5 /* child has stopped */ +#define VKI_CLD_CONTINUED 6 /* stopped child has continued */ + #if 0 /* freebsd-6 */ typedef struct vki_sigevent { int sigev_notify; diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h index e6cef7dfff..905c3ba36e 100644 --- a/include/vki/vki-linux.h +++ b/include/vki/vki-linux.h @@ -576,6 +576,16 @@ typedef struct vki_siginfo { #define VKI_TRAP_BRKPT (__VKI_SI_FAULT|1) /* process breakpoint */ #define VKI_TRAP_TRACE (__VKI_SI_FAULT|2) /* process trace trap */ +/* + * SIGCHLD si_codes + */ +#define VKI_CLD_EXITED (__VKI_SI_FAULT|1) /* child has exited */ +#define VKI_CLD_KILLED (__VKI_SI_FAULT|2) /* child was killed */ +#define VKI_CLD_DUMPED (__VKI_SI_FAULT|3) /* child terminated abnormally */ +#define VKI_CLD_TRAPPED (__VKI_SI_FAULT|4) /* traced child has trapped */ +#define VKI_CLD_STOPPED (__VKI_SI_FAULT|5) /* child has stopped */ +#define VKI_CLD_CONTINUED (__VKI_SI_FAULT|6) /* stopped child has continued */ + /* * This works because the alignment is ok on all current architectures * but we leave open this being overridden in the future |
|
From: Paul F. <pa...@so...> - 2022-04-07 05:57:49
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=19584a93d15e4a0f027ccd478b0e70caaa594d05 commit 19584a93d15e4a0f027ccd478b0e70caaa594d05 Author: Paul Floyd <pj...@wa...> Date: Thu Apr 7 07:56:27 2022 +0200 Update FreeBSD [f]execve expecteds As requested by Mark, for https://bugs.kde.org/show_bug.cgi?id=450437 Diff: --- memcheck/tests/freebsd/fexecve.stderr.exp | 5 +++++ memcheck/tests/freebsd/scalar.stderr.exp | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/memcheck/tests/freebsd/fexecve.stderr.exp b/memcheck/tests/freebsd/fexecve.stderr.exp index 5e49552511..5bb85f79dc 100644 --- a/memcheck/tests/freebsd/fexecve.stderr.exp +++ b/memcheck/tests/freebsd/fexecve.stderr.exp @@ -9,6 +9,11 @@ Syscall param fexecve(argv) points to uninitialised byte(s) at 0x........: malloc (vg_replace_malloc.c:...) by 0x........: main (fexecve.c:17) +Syscall param fexecve(argv[0]) points to unaddressable byte(s) + at 0x........: fexecve (in /...libc...) + by 0x........: main (fexecve.c:29) + Address 0x........ is not stack'd, malloc'd or (recently) free'd + Syscall param fexecve(envp) points to uninitialised byte(s) at 0x........: fexecve (in /...libc...) by 0x........: main (fexecve.c:29) diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index 8e7f9fb145..869b48d416 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -541,6 +541,10 @@ Syscall param execve(filename) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd +Syscall param execve(argv) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + --------------------------------------------------------- 60: SYS_umask 1s 0m --------------------------------------------------------- |