Patch file to come shortly. Lots of new features. For FreeBSD, adds support for FreeBSD 15 and new _umtx_op codes.
Created attachment 244600 [details] Patch to bump to current git head Bumps version up to git head. I was planning on trying sourceware snapshots but too busy, maybe next time. Mainly for FreeBSD 15, but there is a load of other functionality. I've reordered the Makefile and pkg-plist to be similar to devel/valgrind.
^Triage: Maintainer-feedback flag (+) not required unless requested (?) first. ^Triage: if there is a changelog, please add it to the URL field. Q/A: PORTREVISION should be removed. No need to update a new patch. Thanks!
(In reply to Fernando Apesteguía from comment #2) I thought that I had removed PORTREVISION. My mistake if I didn't. Added a link to the upstream NEWS file that contains all the changes since 3.21. It's a bit more difficult to give a full list as the previous version of valgrind-devel is behind 3.21. The changes from the previous valgrind-devel to 3.21, roughly, are - vgdb multi mode which allows starting Valgrind from within gdb - behaviour of realloc size zero is configurable - show an error when realloc size 0 is used - cachegrind no longer sumulates the cache by default, it's main use now is a precise instruction counter - cachegrind postprocessing scripts rewritten in Python - DHAT has a new user reques that allows case by case histogram generation for memory blocks bigger than the threshold Extra bugfixes > 374596 inconsistent RDTSCP support on x86_64 6a8 > 397083 Likely false positive "uninitialised value(s)" for __wmemchr_avx2 and __wmemcmp_avx2_movbe 7a10 > 419054 Unhandled syscall getcpu on arm32 > 434057 Add stdio mode to valgrind's gdbserver > 436413 Warn about realloc of size zero > 439685 compiler warning in callgrind/main.c > 444487 hginfo test detects an extra lock inside data symbol "_rtld_local" > 445743 "The impossible happened: mutex is locked simultaneously by two threads" > while using mutexes with priority inheritance and signals > 449309 Missing loopback device ioctl(s) 16a27 > 464103 Enhancement: add a client request to DHAT to mark memory to be histogrammed > 464609 Valgrind memcheck should support Linux pidfd_open > 464680 Show issues caused by memory policies like selinux deny_execmem > 465435 m_libcfile.c:66 (vgPlain_safe_fd): Assertion 'newfd >= VG_(fd_hard_limit)' failed. > 466104 aligned_alloc problems, part 1 > 467036 Add time cost statistics for Regtest > 467482 Build failure on aarch64 Alpine > 467714 fdleak_* and rlimit tests fail when parent process has more than > 64 descriptors opened > 467839 Gdbserver: Improve compatibility of library directory name > 468401 [PATCH] Add a style file for clang-format > 468556 Build failure for vgdb > 468606 build: remove "Valgrind relies on GCC" check/output > 469097 ppc64(be) doesn't support SCV syscall instruction > n-i-bz FreeBSD rfork syscall fail with EINVAL or ENOSYS rather than VG_(unimplemented)
(In reply to Paul Floyd from comment #3) Thanks!
There are some items that seems are not installed anymore. Would you mind having a look? ====> Running Q/A tests (stage-qa) ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR Error: Missing: %%DOCSDIR%%/valgrind_manual.pdf Error: Missing: %%DOCSDIR%%/valgrind_manual.ps ===> Error: Plist issues found. *** Error code 1 Also, have a look at poudriere (https://docs.freebsd.org/en/books/porters-handbook/testing/#testing-poudriere). It's a great tool for testing ports.
(In reply to Fernando Apesteguía from comment #5) Strange that the same thing in devel/valgrind doesn't cause a problem. For now I suggest just deleting the pdf and ps from pkg-plist. Poudriere seems a bit overkill for just one port.
(In reply to Paul Floyd from comment #6) >Strange that the same thing in devel/valgrind doesn't cause a problem. That might be because valgrind includes in the distribution .pdf and .ps files dated April 28th while valgrind-devel does not. My guess is that the building of the doc silently fails. In valgrind it doesn't matter because install-data-hook finds the pdf and ps files and does its thing. In valgrind-devel is not the case. >For now I suggest just deleting the pdf and ps from pkg-plist. I think users would appreciate to have the manuals. Can you provide a patch? >Poudriere seems a bit overkill for just one port. Poudriere catches errors like this one that was missing, so I think it does its job :-) It is also the best way to catch for missing dependencies and other problems.
(In reply to Fernando Apesteguía from comment #7) Didn't think of that. I'm not sure if anyone will use the PostScript file these days but it gets generated along with the pdf so why not. I did try adding the "print-docs" target to "post-build-DOCS-on". Building the docs is a bit flakey, also something I need to try to correct (I can't remember if it is as bad on Linux). There are errors during the build of "print-docs", but it does carry on and succeed. I didn't see the built pdf getting staged however. Need to fiddle with that a bit more. Also I think that there are a _lot_ more dependencies required to build the PDF. Which probably means either poudriere or using one of my VBox VMs.
Created attachment 244751 [details] Patch to bump to current git head I've redone the patch, this time using a sourceware.org (the upstream host) snapshot. In the meantime close_range support has been added.
Created attachment 244958 [details] Patch to bump to current git head Since the last patch was uploaded Added more FreeBSD 15 syscalll wrappers Cachegrind now has user requests to allow starting and stopping instrumentation at run time.
Could you give the latest patch a go please?
Removing PORTEPOCH is always an error: -PORTEPOCH= 1 Do not upload a new patch for this. Thanks.
Created attachment 244980 [details] linted patch portlinted patch
(In reply to Fernando Apesteguía from comment #12) I've continued to fix things for FreeBSD 15 which keep making the version that I'd like to use obsolete. All of the new syscalls are now handled and I'm not expecting any FreeBSD related changes for a while.
(In reply to Paul Floyd from comment #14) $ portlint -AC FATAL: Makefile: [8]: use a tab (not space) after a variable name FATAL: Makefile: [21]: use a tab (not space) after a variable name FATAL: Makefile: [45]: use a tab (not space) after a variable name WARN: Makefile: possible use of absolute pathname "/usr/lib32/libc.so". WARN: Makefile: new ports should not set PORTEPOCH. WARN: Makefile: "IGNORE" has to appear earlier. $ portclippy Makefile [snip] # Standard bsd.port.mk variables +STRIP # Packaging list block PORTDOCS # Options definitions OPTIONS_DEFINE OPTIONS_DEFINE_amd64 OPTIONS_DEFAULT OPTIONS_DEFAULT_amd64 OPTIONS_SUB -STRIP
Created attachment 245003 [details] pedantically linted patch
Committed, Thanks!
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=d9d66f354c2b0931daf4c167a7ba287da23d16e1 commit d9d66f354c2b0931daf4c167a7ba287da23d16e1 Author: Paul Floyd <pjfloyd@wanadoo.fr> AuthorDate: 2023-09-18 20:41:05 +0000 Commit: Fernando Apesteguía <fernape@FreeBSD.org> CommitDate: 2023-09-19 07:38:25 +0000 devel/valgrind-devel: update to 3.22.0.g20230917 ChangeLog: https://sourceware.org/git/?p=valgrind.git;a=blob;f=NEWS;hb=ae4e70d97d46c58a99782ff007df1cdc34ac1219 PR: 273529 Reported by: pjfloyd@wanadoo.fr (maintainer) devel/valgrind-devel/Makefile | 15 ++++++--------- devel/valgrind-devel/distinfo | 6 +++--- devel/valgrind-devel/pkg-descr | 4 ---- devel/valgrind-devel/pkg-plist | 31 +++++++++++++++++-------------- 4 files changed, 26 insertions(+), 30 deletions(-)