qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH 1/1] linux-user: Probe the guest base for shared


From: Meador Inge
Subject: [Qemu-devel] [RFC PATCH 1/1] linux-user: Probe the guest base for shared objects when needed
Date: Thu, 7 Jun 2012 15:59:02 -0500

In some cases when running a shared library directly from QEMU
(e.g. ld.so) the guest base should still be probed so that
any images loaded later at fixed addresses by the target code
can still be mapped.

Signed-off-by: Meador Inge <address@hidden>
---
 linux-user/elfload.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index f3b1552..c71c287 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1443,6 +1443,7 @@ static void probe_guest_base(const char *image_name,
                 goto exit_errmsg;
             }
         }
+        have_guest_base = 1;
         qemu_log("Relocating guest address space from 0x"
                  TARGET_ABI_FMT_lx " to 0x%lx\n",
                  loaddr, real_start);
@@ -1528,6 +1529,8 @@ static void load_elf_image(const char *image_name, int 
image_fd,
 
     load_addr = loaddr;
     if (ehdr->e_type == ET_DYN) {
+        if (loaddr < mmap_min_addr)
+            probe_guest_base(image_name, loaddr, hiaddr);
         /* The image indicates that it can be loaded anywhere.  Find a
            location that can hold the memory space required.  If the
            image is pre-linked, LOADDR will be non-zero.  Since we do
-- 
1.7.7.6




reply via email to

[Prev in Thread] Current Thread [Next in Thread]