From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JKGSc-0001Za-Ry for qemu-devel@nongnu.org; Wed, 30 Jan 2008 12:10:55 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JKGSa-0001Xl-Pv for qemu-devel@nongnu.org; Wed, 30 Jan 2008 12:10:53 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JKGSa-0001Xb-ID for qemu-devel@nongnu.org; Wed, 30 Jan 2008 12:10:52 -0500 Received: from wr-out-0506.google.com ([64.233.184.229]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JKGSZ-0007WO-Vq for qemu-devel@nongnu.org; Wed, 30 Jan 2008 12:10:52 -0500 Received: by wr-out-0506.google.com with SMTP id 50so250231wra.18 for ; Wed, 30 Jan 2008 09:10:46 -0800 (PST) Message-ID: Date: Wed, 30 Jan 2008 19:10:43 +0200 From: "Blue Swirl" Subject: Re: [Qemu-devel] Re: [kvm-devel] [PATCH] Making SLIRP code more 64-bit clean In-Reply-To: <47A0A90B.50407@lanl.gov> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <479F5E3A.6030506@lanl.gov> <42DFA526FC41B1429CE7279EF83C6BDCD31A15@pdsmsx415.ccr.corp.intel.com> <47A0A90B.50407@lanl.gov> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kvm-devel@lists.sourceforge.net, kvm-ia64-devel@lists.sourceforge.net On 1/30/08, Scott Pakin wrote: > Zhang, Xiantao wrote: > > Scott Pakin wrote: > >> The attached patch corrects a bug in qemu/slirp/tcp_var.h that defines > >> the seg_next field in struct tcpcb to be 32 bits wide regardless of > >> 32/64-bitness. seg_next is assigned a pointer value in > >> qemu/slirp/tcp_subr.c, then cast back to a pointer in > >> qemu/slirp/tcp_input.c and dereferenced. That produces a SIGSEGV on > >> my system. > > > > > > I still hit it on IA64 platform with your patch, once configured with > > slirp. > > Okay, here's a more thorough patch that fixes *all* of the "cast from/to > pointer to/from integer of a different size" mistakes that gcc warns > about. Does it also solve the SIGSEGV problem on IA64? The SLIRP code is much, much more subtle than that. Please see this thread: http://lists.gnu.org/archive/html/qemu-devel/2007-10/msg00542.html