From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:34479) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPguC-0006Nd-KG for qemu-devel@nongnu.org; Tue, 09 Apr 2013 18:20:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPgu7-0002x8-Uh for qemu-devel@nongnu.org; Tue, 09 Apr 2013 18:20:44 -0400 Received: from indium.canonical.com ([91.189.90.7]:49310) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPgu7-0002ww-Q1 for qemu-devel@nongnu.org; Tue, 09 Apr 2013 18:20:39 -0400 Received: from loganberry.canonical.com ([91.189.90.37]) by indium.canonical.com with esmtp (Exim 4.71 #1 (Debian)) id 1UPgu6-0003qj-Ue for ; Tue, 09 Apr 2013 22:20:38 +0000 Received: from loganberry.canonical.com (localhost [127.0.0.1]) by loganberry.canonical.com (Postfix) with ESMTP id E66F62E807D for ; Tue, 9 Apr 2013 22:20:38 +0000 (UTC) MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Date: Tue, 09 Apr 2013 22:11:19 -0000 From: Peter Maydell Sender: bounces@canonical.com References: <20130401223319.8572.52647.malonedeb@gac.canonical.com> Message-Id: <20130409221119.27540.97816.malone@soybean.canonical.com> Errors-To: bounces@canonical.com Subject: [Qemu-devel] [Bug 1163034] Re: gnutls28 fails to build from source in armhf Reply-To: Bug 1163034 <1163034@bugs.launchpad.net> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Actually, assuming the guest ARM glibc doesn't have the printf() bug the code is testing for, we shouldn't take the SIGSEGV anyway, so that's a red herring. The actual problem here is the setrlimit(). The conftest.c test case works by using rlimit to limit the address space. This generally doesn't work on QEMU because we just pass the rlimit syscall through to the host, and end up limiting not just the guest program but also QEMU itself. QEMU doesn't expect its own allocations to fail and typically dies in confusing ways as a result. (Sometimes we do check allocations and call abort(), which then under linux-user doesn't work properly because we treat the resulting signal as if it were caused by the guest and not by QEMU's own code; IIRC we end up hanging in that situation.) In this particular instance we segfault in tb_alloc_page() because it doesn't check that page_find_alloc() didn't return NULL. [Confirmed by running qemu-arm under gdb.] Fixing this would require us to implement the address space rlimits entirely in QEMU by keeping track of how much memory we've handed the guest so we can fail mmap() etc. That is probably relatively speaking fairly tractable, though it's not a five minute job. Unsupported syscall bugs are usually easy fixes, incidentally (though occasionally they are nasty); also often QEMU will warn but things will continue OK because the guest libc/userspace supports fallback code for when a native kernel hasn't yet implemented the new syscall. -- = You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1163034 Title: gnutls28 fails to build from source in armhf Status in QEMU: New Status in =E2=80=9Cqemu=E2=80=9D package in Ubuntu: Confirmed Bug description: Please look at https://code.launchpad.net/~costamagnagianfranco/+archive/costamagnagianf= ranco-ppa/+packages and https://code.launchpad.net/~costamagnagianfranco/+archive/costamagnagianf= ranco-ppa/+build/4457434 I cannot make gnutls28 build on armhf, I suspect a builder problem To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1163034/+subscriptions