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;