From 24e2757ce7ff03cfd3c811d6b729f1f103ed0c3f Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Tue, 1 Nov 2005 19:46:07 +0000 Subject: [PATCH] Make the request for space for the interpreter into a hint so that we can still proceed if the preferred load address is not available. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4980 --- coregrind/m_ume.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/coregrind/m_ume.c b/coregrind/m_ume.c index 3c63c9d78d..d634cc4eae 100644 --- a/coregrind/m_ume.c +++ b/coregrind/m_ume.c @@ -438,6 +438,7 @@ static Int load_ELF(Int fd, const char *name, /*MOD*/struct exeinfo *info) if (interp != NULL) { /* reserve a chunk of address space for interpreter */ + MapRequest mreq; Addr advised; Bool ok; @@ -447,9 +448,10 @@ static Int load_ELF(Int fd, const char *name, /*MOD*/struct exeinfo *info) the specified address. This is a bit of hack, but it should work because there should be no intervening transactions with aspacem which could cause those fixed maps to fail. */ - advised = VG_(am_get_advisory_client_simple)( - (Addr)interp_addr, interp_size, &ok - ); + mreq.rkind = MHint; + mreq.start = interp_addr; + mreq.len = interp_size; + advised = VG_(am_get_advisory)( &mreq, True/*client*/, &ok ); if (!ok) { /* bomb out */ SysRes res = VG_(mk_SysRes_Error)(VKI_EINVAL); -- 2.47.3