NULL /* not mandatory - so why bother at all? */
/* glibc-2.6.1 (openSUSE 10.3, ppc32) seems fine without it */
);
- } else if (0 == VG_(strcmp)("drd", VG_(details).name)) {
- /* Only continue if symbol information in ld.so.1 is present, */
- /* because otherwise drd's suppression patterns on ld.so do */
- /* not have any effect. */
- add_hardwired_spec(
- "ld.so.1", "strlen",
- (Addr)(&VG_(ppc32_linux_REDIR_FOR_strlen)),
- croakage
- );
}
}
NULL /* not mandatory - so why bother at all? */
/* glibc-2.5 (FC6, ppc64) seems fine without it */
);
-
- } else if (0 == VG_(strcmp)("drd", VG_(details).name)) {
- /* Only continue if symbol information in ld64.so.1 is present, */
- /* because otherwise drd's suppression patterns on ld.so do */
- /* not have any effect. */
- add_hardwired_spec(
- "ld64.so.1", "strlen",
- (Addr)VG_(fnptr_to_fnentry)( &VG_(ppc64_linux_REDIR_FOR_strlen) ),
- croakage
- );
}
}
avma = VG_(seginfo_get_plt_avma)(di);
size = VG_(seginfo_get_plt_size)(di);
- if (size > 0 && a <= avma && avma + size <= a + len)
+ tl_assert((avma && size) || (avma == 0 && size == 0));
+ if (size > 0)
{
#if 0
VG_(printf)("Suppressing .plt @ 0x%lx size %ld\n", avma, size);
avma = VG_(seginfo_get_gotplt_avma)(di);
size = VG_(seginfo_get_gotplt_size)(di);
- if (size > 0 && a <= avma && avma + size <= a + len)
+ tl_assert((avma && size) || (avma == 0 && size == 0));
+ if (size > 0)
{
#if 0
VG_(printf)("Suppressing .got.plt @ 0x%lx size %ld\n", avma, size);