The format of /proc/(pid)/maps is changed (I guess, generally in 2.6+ series, however tested only on 2.6.4). The differences are - flags (modes) are uppercase, and also plus sign may be instead of minus sign. Sample: 4020e000-40214000 R-+s 00000000 03:02 17056 /usr/lib/gconv/gconv- modules.cache 40214000-40216000 R+Xp 00000000 03:02 17185 /usr/lib/gconv/ISO8859-1.so 40216000-40217000 RW+p 00001000 03:02 17185 /usr/lib/gconv/ISO8859-1.so 40217000-40257000 RW+p 00000000 00:00 0 bfffa000-c0000000 RWXp ffffc000 00:00 0 ffffe000-fffff000 ---p 00000000 00:00 0 The parser expects only uppercase flags, and it won't accept '+' as well. This problem affects all versions (up to 2.1.1).
In message <20040319004653.13501.qmail@ktown.kde.org> you wrote: > The format of /proc/(pid)/maps is changed (I guess, generally in 2.6+ > series, however tested only on 2.6.4). Actually that isn't a standard 2.6 feature, it's am additional kernel patch that causes that change. There was another bug report about it a few weeks ago. Tom
Yes, it's the PaX extension for control over memory mappings. There is some discussion about it, and a patch, in bug #69616.
The bug #69616 is closed, but the problem is not solved. One may argue that this is not valgrind problem - yes, partially true, but it won't help those who uses PAX... I can fix it for myself, that's not a problem - but about others?
Bug #69616 is closed because the original problem has been fixed; the PaX problem was identified while fixing that, but was unrelated to the original problem. I suggested to the person having a problem with PaX that they open another bug; they didn't, but now you have, so now there is a problem report for it. As for fixing it: it's hard to say what best to do... if someone writes a patch that changes the kernel's interface, it's inevitable that this will break some programs. I think we should leave it for the moment, and if more people complain, then we can consider handling it. For the moment, the patch in #69616 is available for people affected.
I'm closing this because nobody has complained for several months now. If that turns out to be a problem, it can be re-opened.