|
From: Bart V. A. <bar...@gm...> - 2008-06-01 09:02:10
|
Hello, I found out that with some Linux distributions/platform combinations so much symbol information has been stripped from ld.so that suppression patterns on ld.so do not work (see also https://bugzilla.novell.com/show_bug.cgi?id=396197). The result is that exp-drd reports false positives on ld.so without giving the user a clue why this happens. I'd like to let exp-drd abort with an error message when this happens, just like memcheck, by making the strlen() redirection in exp-drd mandatory. Is modifying coregrind/m_redir.c the only way to do this ? I found e.g. the following code in m_redir.c: /* this is mandatory - can't sanely continue without it */ add_hardwired_spec( "ld.so.1", "strlen", (Addr)&VG_(ppc32_linux_REDIR_FOR_strlen), croakage ); Bart. |
|
From: Julian S. <js...@ac...> - 2008-06-01 11:41:22
|
> a clue why this happens. I'd like to let exp-drd abort with an error > message when this happens, just like memcheck, by making the strlen() > redirection in exp-drd mandatory. Is modifying coregrind/m_redir.c the > only way to do this ? It is the only mechanism currently available, yes. > I found e.g. the following code in m_redir.c: > > /* this is mandatory - can't sanely continue without it */ > add_hardwired_spec( > "ld.so.1", "strlen", > (Addr)&VG_(ppc32_linux_REDIR_FOR_strlen), > croakage > ); Yes. [As you also discovered] Memcheck is already unusable on ppc32/64 openSUSE 10.3 and later, and I see just now that openSUSE 11 has ld.so with no symbols at all. Maybe at some point Memcheck will stop working on openSUSE at all, and at that point the ld.so package maintainers will take notice and back off from this extreme no-visible-symbols-on-ld.so standpoint. AFAICT Fedora 9 doesn't have this problem, or at least it doesn't have this problem so badly. J |