qemu-user incorrect mmap for large files on 64bits host and 32bits executable. qemu-user seems to incorrectly mmap a file if the offset is > 4GiB and guest binary is 32 bits elf. See attached test program `test_mmap.c`. ``` $ gcc -g -m32 -march=i386 test_mmap.c -o test_mmap $ file test_mmap test_mmap: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=e36db05f4dfd8a9cfde8a969214a242c1f5a4b49, with debug_info, not stripped $ uname -a Linux localhost.localdomain 4.15.10-300.fc27.x86_64 #1 SMP Thu Mar 15 17:13:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ qemu-i386 --version qemu-i386 version 2.10.1(qemu-2.10.1-2.fc27) Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers $ ./test_mmap $ qemu-i386 test_mmap Incorrect data 1 ``` Tested with qemu-i386 packaged in Fedora 27 and qemu-i386 compiled from git master (094b62cd9c) The issue was firstly detected on (more complex program) using qemu-arm (with 32bits binary) so it is probably a 32/64bits problem independently of the cpu family.