Hi Edgar, On Feb 16, 2008 11:07 PM, Edgar E. Iglesias <[EMAIL PROTECTED]> wrote: > > On Tue, Feb 12, 2008 at 09:42:15PM +0200, Felipe Contreras wrote: > > Hi, > > > > I don't know what I'm doing but this seems to fix the weird issue I was > > having. > > http://article.gmane.org/gmane.comp.emulators.qemu/23314 > > > > I've found out that this happens on linux 2.6.23, but not 2.6.24. > > > > Cheers. > > > > -- > > Felipe Contreras > > diff --git a/linux-user/mmap.c b/linux-user/mmap.c > > index 6292826..3050ad9 100644 > > --- a/linux-user/mmap.c > > +++ b/linux-user/mmap.c > > @@ -251,7 +251,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, > > int prot, > > especially important if qemu_host_page_size > > > qemu_real_host_page_size */ > > p = mmap(g2h(mmap_start), > > - host_len, prot, flags | MAP_FIXED, fd, host_offset); > > + host_len, prot, flags, fd, host_offset); > > if (p == MAP_FAILED) > > return -1; > > /* update start so that it points to the file position at 'offset' > > */ > > Hello, > > Sorry, but I beleive your patch will break simulations where the targets > pagesize is larger than the hosts. > > Would you mind trying the attach patched and let us know if it helps for you? > If not, it would be great if you could provide a small test case that trigs > the bug you are seeing so we can debug the problem. > > Best regards > -- > Edgar E. Iglesias > Axis Communications AB > > diff --git a/linux-user/mmap.c b/linux-user/mmap.c > index 6292826..78a8162 100644 > --- a/linux-user/mmap.c > +++ b/linux-user/mmap.c > @@ -385,6 +385,9 @@ int target_munmap(abi_ulong start, abi_ulong len) > real_end -= qemu_host_page_size; > } > > + if (start < mmap_next_start) > + mmap_next_start = start; > + > /* unmap what we can */ > if (real_start < real_end) { > ret = munmap(g2h(real_start), real_end - real_start); >
I tried your patch and it still crashes. I sent the details before: http://article.gmane.org/gmane.comp.emulators.qemu/23314 http://article.gmane.org/gmane.comp.emulators.qemu/23328 Basically it was triggered by this change: http://repo.or.cz/w/qemu.git?a=commitdiff;h=edbcc0b2eb1d4caee5f293e5c79f81023f3394e2 And it happens with some recursive Makefiles stuff. Best regards. -- Felipe Contreras