Bug 273529 - Bump devel/valgrind-devel to 3.22.0.g20230917
Summary: Bump devel/valgrind-devel to 3.22.0.g20230917
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Fernando Apesteguía
URL: https://sourceware.org/git/?p=valgrin...
Keywords: needs-qa
Depends on:
Blocks:
 
Reported: 2023-09-02 16:40 UTC by Paul Floyd
Modified: 2023-09-19 07:39 UTC (History)
2 users (show)

See Also:


Attachments
Patch to bump to current git head (5.75 KB, patch)
2023-09-02 16:58 UTC, Paul Floyd
pjfloyd: maintainer-approval+
Details | Diff
Patch to bump to current git head (5.79 KB, patch)
2023-09-10 15:16 UTC, Paul Floyd
no flags Details | Diff
Patch to bump to current git head (5.99 KB, patch)
2023-09-17 11:00 UTC, Paul Floyd
no flags Details | Diff
linted patch (6.58 KB, patch)
2023-09-17 17:54 UTC, Paul Floyd
no flags Details | Diff
pedantically linted patch (5.79 KB, patch)
2023-09-18 18:02 UTC, Paul Floyd
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Floyd 2023-09-02 16:40:13 UTC
Patch file to come shortly.

Lots of new features.

For FreeBSD, adds support for FreeBSD 15 and new _umtx_op codes.
Comment 1 Paul Floyd 2023-09-02 16:58:47 UTC
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.
Comment 2 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-04 08:04:19 UTC
^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!
Comment 3 Paul Floyd 2023-09-04 08:37:18 UTC
(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)
Comment 4 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-04 08:41:41 UTC
(In reply to Paul Floyd from comment #3)
Thanks!
Comment 5 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-04 14:23:30 UTC
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.
Comment 6 Paul Floyd 2023-09-04 20:15:01 UTC
(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.
Comment 7 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-05 08:51:37 UTC
(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.
Comment 8 Paul Floyd 2023-09-05 10:32:08 UTC
(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.
Comment 9 Paul Floyd 2023-09-10 15:16:41 UTC
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.
Comment 10 Paul Floyd 2023-09-17 11:00:50 UTC
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.
Comment 11 Paul Floyd 2023-09-17 11:03:40 UTC
Could you give the latest patch a go please?
Comment 12 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-17 17:23:48 UTC
Removing PORTEPOCH is always an error:

-PORTEPOCH=     1

Do not upload a new patch for this.

Thanks.
Comment 13 Paul Floyd 2023-09-17 17:54:46 UTC
Created attachment 244980 [details]
linted patch

portlinted patch
Comment 14 Paul Floyd 2023-09-17 19:49:27 UTC
(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.
Comment 15 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-18 11:10:23 UTC
(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
Comment 16 Paul Floyd 2023-09-18 18:02:20 UTC
Created attachment 245003 [details]
pedantically linted patch
Comment 17 Fernando Apesteguía freebsd_committer freebsd_triage 2023-09-19 07:39:00 UTC
Committed,

Thanks!
Comment 18 commit-hook freebsd_committer freebsd_triage 2023-09-19 07:39:07 UTC
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(-)