Bug 253487

Summary: glibc version is baked into default suppressions file at Valgrind build time.
Product: [Developer tools] valgrind Reporter: Evgeniy Stepanov <eugeni.stepanov>
Component: generalAssignee: Julian Seward <jseward>
Status: RESOLVED NOT A BUG    
Severity: normal CC: pjfloyd
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: A straightforward fix: obtain the glibc major version from configure.in and substitute it ingo glibc.X.X.supp.in

Description Evgeniy Stepanov 2010-10-07 10:38:35 UTC
Version:           unspecified
OS:                Linux

glibc version is baked into default suppressions file at Valgrind build time. This becomes a problem when glibc is updated, or when Valgrind installation is transferred to another machine. Other than that, the same Valgrind binary seems to work perfectly well with different versions of glibc (we tested 2.7, 2.10, 2.11).

Could these suppressions be made a little more generic, excluding the minor version number from object names? A line like
obj:/lib*/ld-2.*.so*
instead of
obj:/lib*/ld-2.11*.so*
still seems specific enough not to match anything unexpected.

Alternatively, we could include suppressions for all reasonable versions of glibc at the same time.

Reproducible: Didn't try
Comment 1 Alexander Potapenko 2010-10-08 11:08:21 UTC
Created attachment 52332 [details]
A straightforward fix: obtain the glibc major version from configure.in and substitute it ingo glibc.X.X.supp.in
Comment 2 Julian Seward 2010-10-08 11:38:59 UTC
Honestly, having the same build work across multiple different
glibc versions has never been a design goal.  We've always said
"build it on the platform you intend to use it on."
Comment 3 Paul Floyd 2023-01-16 10:36:47 UTC
I don't think that this is a good idea. Certainly for FreeBSD and macOS trying to mix the build version and test version OS is a bad idea.

If you really need to have a different suppression file you can always produce suppression files for the different OSes and use --suppressions=