https://bugs.kde.org/show_bug.cgi?id=469146

--- Comment #2 from Carl Love <c...@us.ibm.com> ---
Per comment in the Valgrind emailI see what is happening now. The stack in
question is

-----------------------------------------------
==2756940==    at 0x48A4C8C: malloc (vg_replace_malloc.c:431)
==2756940==    by 0x58025633: ??? (m_trampoline.S:458)
==2756940==    by 0x4007D17: call_init (dl-init.c:70)
==2756940==    by 0x4007D17: _dl_init (dl-init.c:117)
==2756940==    by 0x40311E7: _dl_start_user (in 
/usr/lib/powerpc64-linux-gnu/ld64.so.1)

Note the identical addresses for call_init and _dl_init. I believe that 
means that call_init is inlined.

This bit of code in ms_main.c skips over call_init

    // top has no fnname => search for the first entry that has a fnname
    for (i = *top; i < n_ips && !top_has_fnname; i++) {
      top_has_fnname = VG_(get_fnname)(ep, ips[i], &fnname);
    }

The workaround is to add _dl_init to the ignore functions.
----------------------------------------------------
I tried adding the line 

prog: new-cpp
 vgopts: --stacks=no --time-unit=B --massif-out-file=massif.out
 vgopts: --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale
--ignore-fn=dwarf2_unwind_dyld_add_image_hook
+vgopts: --ignore-fn=dl_init

to massif/tests/new-cpp-vgtest, but it did not change the results.  Not sure if
I didn't do it correctly?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to