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
(1) |
3
(25) |
4
(4) |
5
|
6
(3) |
7
|
|
8
(2) |
9
(3) |
10
|
11
|
12
|
13
(2) |
14
|
|
15
(1) |
16
(3) |
17
(1) |
18
(7) |
19
(4) |
20
(1) |
21
(2) |
|
22
(1) |
23
(3) |
24
(8) |
25
(1) |
26
(6) |
27
(2) |
28
|
|
29
(3) |
30
|
|
|
|
|
|
|
From: Ivo R. <iv...@iv...> - 2015-11-16 20:35:37
|
2015-11-16 13:55 GMT+01:00 Mark Wielaard <mj...@re...>: > > I need to exclude runtime linker on Solaris from this equation. More > > precisely, > > I think instead of "*" I need something like: "*" except VG_Z_LD_SO_1 > > library > > as listed in pub_tool_redir.h. I did not figure how this can > accomplished, > > yet. > > Please could you shed some light in how to do this? > > The spec matcher uses string_match, which calls generic_match, to do a > pattern match on a sequence. See include/pub_tool_seqmatch.h for a > description. It seems very flexible, but I don't believe that does > negative matching though. So you might just have to explicitly filter > out the solaris ld.so when Spec from_sopatt equals "*" and isGlobal == > True. That seems a reasonable thing to do in general, the dynamic linker > is special and we probably never want to match generic global symbols in > it, so maybe do it for any ld.so (I don't immediately see how to get the > ld.so name for the binary/platform though). You will want to tweak the > start of generate_and_add_actives in m_redir.c where it sets the > sp->mark using string_match. > Hi Mark, Thank you a lot for an explanation and guidance. Please have a look at the patch attached to bug: 355454 do not intercept malloc related symbols from the runtime linker https://bugs.kde.org/show_bug.cgi?id=355454 Currently it filters out only Solaris runtime linker. Linux runtime linkers could be filtered out as well but I am not sure which ones are relevant. There are just too many in pub_tool_redir.h... Cheers, I. |
|
From: Mark W. <mj...@re...> - 2015-11-16 12:55:40
|
Hi Ivo,
On Mon, 2015-11-16 at 13:29 +0100, Ivo Raisr wrote:
> Please could you help me with the necessary changes to unbreak the Solaris
> build.
> My understanding is that the following piece of code in m_redir.c is
> crucial:
>
> // If the user didn't set it then somalloc is special. We
> // want to match public/global symbols that match the
> // fnpatt everywhere.
> if (replaced_sopatt == NULL
> && VG_(strcmp) ( demangled_sopatt, SO_SYN_MALLOC_NAME ) == 0)
> {
> replaced_sopatt = VG_(strdup)("m_redir.rnnD.1", "*");
> demangled_sopatt = replaced_sopatt;
> isGlobal = True;
> }
>
> So I read it that if the user did not set any --soname-synonyms then the
> current functionality
> instructs the redirection module to intercept all public somalloc functions
> in all libraries/binaries.
Yes, indeed.
> I need to exclude runtime linker on Solaris from this equation. More
> precisely,
> I think instead of "*" I need something like: "*" except VG_Z_LD_SO_1
> library
> as listed in pub_tool_redir.h. I did not figure how this can accomplished,
> yet.
> Please could you shed some light in how to do this?
The spec matcher uses string_match, which calls generic_match, to do a
pattern match on a sequence. See include/pub_tool_seqmatch.h for a
description. It seems very flexible, but I don't believe that does
negative matching though. So you might just have to explicitly filter
out the solaris ld.so when Spec from_sopatt equals "*" and isGlobal ==
True. That seems a reasonable thing to do in general, the dynamic linker
is special and we probably never want to match generic global symbols in
it, so maybe do it for any ld.so (I don't immediately see how to get the
ld.so name for the binary/platform though). You will want to tweak the
start of generate_and_add_actives in m_redir.c where it sets the
sp->mark using string_match.
> The reason why to
> exclude
> Solaris runtime linker is because the library has public functions called
> malloc/free/... but with different semantics and different behaviour than
> the standard ones from libc and friends.
If it does then it really shouldn't make those public global symbols.
Maybe you can tweak ld.so to make those functions static/private? That
of course doesn't help with older systems, but might help in the future
not having to special case the Solaris ld.so.
Cheers,
Mark
|
|
From: Ivo R. <iv...@iv...> - 2015-11-16 12:31:04
|
Hi Mark,
Please could you help me with the necessary changes to unbreak the Solaris
build.
My understanding is that the following piece of code in m_redir.c is
crucial:
// If the user didn't set it then somalloc is special. We
// want to match public/global symbols that match the
// fnpatt everywhere.
if (replaced_sopatt == NULL
&& VG_(strcmp) ( demangled_sopatt, SO_SYN_MALLOC_NAME ) == 0)
{
replaced_sopatt = VG_(strdup)("m_redir.rnnD.1", "*");
demangled_sopatt = replaced_sopatt;
isGlobal = True;
}
So I read it that if the user did not set any --soname-synonyms then the
current functionality
instructs the redirection module to intercept all public somalloc functions
in all libraries/binaries.
I need to exclude runtime linker on Solaris from this equation. More
precisely,
I think instead of "*" I need something like: "*" except VG_Z_LD_SO_1
library
as listed in pub_tool_redir.h. I did not figure how this can accomplished,
yet.
Please could you shed some light in how to do this? The reason why to
exclude
Solaris runtime linker is because the library has public functions called
malloc/free/... but with different semantics and different behaviour than
the standard ones from libc and friends.
Kind regards,
I.
2015-11-15 17:50 GMT+01:00 <sv...@va...>:
> Author: mjw
> Date: Sun Nov 15 16:50:43 2015
> New Revision: 15726
>
> Log:
> BZ#355188 valgrind should intercept all malloc related global functions.
>
> This implements the interception of all globally public allocation
> functions by default. It works by adding a flag to the spec to say the
> interception only applies to global functions. Which is set for the
> somalloc spec. The librarypath to match is set to "*" unless the user
> overrides it. Then each DiSym keeps track of whether the symbol is local
> or global. For a spec which has isGlobal set only isGlobal symbols will
> match.
>
> Note that because of padding to keep the addresses in DiSym aligned the
> addition of the extra bool isGlobal doesn't actually grow the struct.
> The comments explain how the struct could be made more compact on 32bit
> systems, but this isn't as easy on 64bit systems. So I didn't try to do
> that in this patch.
>
> For ELF symbols keeping track of which are global is trivial. For pdb I
> had to guess and made only the "Public" symbols global. I don't know
> how/if macho keeps track of global symbols or not. For now I just mark
> all of them local (which just means things work as previously on platforms
> that use machos, no non-system symbols are matches by default for somalloc
> unless the user explicitly tells which library name to match).
>
> Included are two testcases for shared libraries (wrapmalloc) and staticly
> linked (wrapmallocstatic) malloc/free overrides that depend on the new
> default. One existing testcase (new_override) was adjusted to explicitly
> not use the new somalloc default because it depends on a user defined
> new implementation that has side-effects and should explicitly not be
> intercepted.
>
> Added:
> trunk/memcheck/tests/wrapmalloc.c
> trunk/memcheck/tests/wrapmalloc.stderr.exp
> trunk/memcheck/tests/wrapmalloc.stdout.exp
> trunk/memcheck/tests/wrapmalloc.vgtest
> trunk/memcheck/tests/wrapmallocso.c
> trunk/memcheck/tests/wrapmallocstatic.c
> trunk/memcheck/tests/wrapmallocstatic.stderr.exp
> trunk/memcheck/tests/wrapmallocstatic.stdout.exp
> trunk/memcheck/tests/wrapmallocstatic.vgtest
> Modified:
> trunk/NEWS
> trunk/coregrind/m_debuginfo/debuginfo.c
> trunk/coregrind/m_debuginfo/priv_storage.h
> trunk/coregrind/m_debuginfo/readelf.c
> trunk/coregrind/m_debuginfo/readmacho.c
> trunk/coregrind/m_debuginfo/readpdb.c
> trunk/coregrind/m_debuginfo/storage.c
> trunk/coregrind/m_redir.c
> trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
> trunk/coregrind/pub_core_debuginfo.h
> trunk/docs/xml/manual-core.xml
> trunk/include/pub_tool_redir.h
> trunk/memcheck/tests/Makefile.am
> trunk/memcheck/tests/new_override.vgtest
>
> Modified: trunk/NEWS
>
> ==============================================================================
> --- trunk/NEWS (original)
> +++ trunk/NEWS Sun Nov 15 16:50:43 2015
> @@ -17,6 +17,14 @@
>
> * ==================== OTHER CHANGES ====================
>
> +* Replacement/wrapping of malloc/new related functions is now done not
> just
> + for system libraries by default, but for any globally defined malloc/new
> + related function (both in shared libraries and staticly linked
> alternative
> + malloc implementations). To only intercept malloc/new related functions
> in
> + system libraries use --soname-synonyms=somalloc=nouserintercepts (where
> + "nouserintercepts" can be any non-existing library name).
> + This new functionality is not implemented for darwin/macosx.
> +
> * ==================== FIXED BUGS ====================
>
> The following bugs have been fixed or resolved. Note that "n-i-bz"
> @@ -42,6 +50,7 @@
> 354392 unhandled amd64-solaris syscall: 171
> 354797 Added vbit tester support for PPC 64 isa 2.07 iops
> 354933 Fix documentation of --kernel-variant=android-no-hw-tls option
> +355188 valgrind should intercept all malloc related global functions
>
|