Blue Swirl wrote: > On 1/30/08, Scott Pakin <[EMAIL PROTECTED]> 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
Got it. Thank you! Xiantao