Don't skip the top frame when picking up ExeContexts for malloc etc.
This restores the pre-pthread-merge behaviour.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@78 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_clientmalloc.c b/coregrind/vg_clientmalloc.c
index eb450df..132fb50 100644
--- a/coregrind/vg_clientmalloc.c
+++ b/coregrind/vg_clientmalloc.c
@@ -230,7 +230,7 @@
       p = (Addr)VG_(malloc_aligned)(VG_AR_CLIENT, align, size);
 
    sc        = VG_(malloc)(VG_AR_PRIVATE, sizeof(ShadowChunk));
-   sc->where = VG_(get_ExeContext)(True, tst->m_eip, tst->m_ebp);
+   sc->where = VG_(get_ExeContext)(False, tst->m_eip, tst->m_ebp);
    sc->size  = size;
    sc->allockind = kind;
    sc->data  = p;
@@ -351,7 +351,7 @@
    VGM_(make_noaccess) ( sc->data - VG_AR_CLIENT_REDZONE_SZB, 
                          sc->size + 2*VG_AR_CLIENT_REDZONE_SZB );
    VGM_(make_noaccess) ( (Addr)sc, sizeof(ShadowChunk) );
-   sc->where = VG_(get_ExeContext)(True, tst->m_eip, tst->m_ebp);
+   sc->where = VG_(get_ExeContext)(False, tst->m_eip, tst->m_ebp);
 
    /* Put it out of harm's way for a while. */
    add_to_freed_queue ( sc );
@@ -387,7 +387,7 @@
    size      = nmemb * size1;
    p         = (Addr)VG_(malloc)(VG_AR_CLIENT, size);
    sc        = VG_(malloc)(VG_AR_PRIVATE, sizeof(ShadowChunk));
-   sc->where = VG_(get_ExeContext)(True, tst->m_eip, tst->m_ebp);
+   sc->where = VG_(get_ExeContext)(False, tst->m_eip, tst->m_ebp);
    sc->size  = size;
    sc->allockind = Vg_AllocMalloc; /* its a lie - but true. eat this :) */
    sc->data  = p;
diff --git a/vg_clientmalloc.c b/vg_clientmalloc.c
index eb450df..132fb50 100644
--- a/vg_clientmalloc.c
+++ b/vg_clientmalloc.c
@@ -230,7 +230,7 @@
       p = (Addr)VG_(malloc_aligned)(VG_AR_CLIENT, align, size);
 
    sc        = VG_(malloc)(VG_AR_PRIVATE, sizeof(ShadowChunk));
-   sc->where = VG_(get_ExeContext)(True, tst->m_eip, tst->m_ebp);
+   sc->where = VG_(get_ExeContext)(False, tst->m_eip, tst->m_ebp);
    sc->size  = size;
    sc->allockind = kind;
    sc->data  = p;
@@ -351,7 +351,7 @@
    VGM_(make_noaccess) ( sc->data - VG_AR_CLIENT_REDZONE_SZB, 
                          sc->size + 2*VG_AR_CLIENT_REDZONE_SZB );
    VGM_(make_noaccess) ( (Addr)sc, sizeof(ShadowChunk) );
-   sc->where = VG_(get_ExeContext)(True, tst->m_eip, tst->m_ebp);
+   sc->where = VG_(get_ExeContext)(False, tst->m_eip, tst->m_ebp);
 
    /* Put it out of harm's way for a while. */
    add_to_freed_queue ( sc );
@@ -387,7 +387,7 @@
    size      = nmemb * size1;
    p         = (Addr)VG_(malloc)(VG_AR_CLIENT, size);
    sc        = VG_(malloc)(VG_AR_PRIVATE, sizeof(ShadowChunk));
-   sc->where = VG_(get_ExeContext)(True, tst->m_eip, tst->m_ebp);
+   sc->where = VG_(get_ExeContext)(False, tst->m_eip, tst->m_ebp);
    sc->size  = size;
    sc->allockind = Vg_AllocMalloc; /* its a lie - but true. eat this :) */
    sc->data  = p;