From owner-freebsd-hackers Thu Nov 23 15:22:13 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from shell.unixbox.com (shell.unixbox.com [207.211.45.65]) by hub.freebsd.org (Postfix) with ESMTP id 4123B37B4C5 for ; Thu, 23 Nov 2000 15:22:00 -0800 (PST) Received: from localhost (fengyue@localhost) by shell.unixbox.com (8.11.1/8.11.0) with ESMTP id eANNNtu13843; Thu, 23 Nov 2000 15:23:55 -0800 (PST) Date: Thu, 23 Nov 2000 15:23:55 -0800 (PST) From: FengYue X-Sender: fengyue@shell.unixbox.com To: Alfred Perlstein Cc: Bosko Milekic , hackers@FreeBSD.ORG Subject: Re: crash on 4.2-stable (sendto() system call) In-Reply-To: <20001123145345.F18037@fw.wintelcom.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, 23 Nov 2000, Alfred Perlstein wrote: ->* Bosko Milekic [001123 14:51] wrote: ->> ->> Hello, ->> ->> Can you please also get the instruction at which the page fault ->> occured? You can try "where" from gdb or you can get the instruction ->> pointer from the original page fault message and then you can probably ->> "disassemble fr_makefrip" and get us the contents around the instruction ->> generating the fault. -> ->It would be better if he could add '-g' to his makeoptions and ->get a crashdump with debug symbols. -> ->-Alfred -> Ah, yes, I actually have -g option turned on. Forgot to do a gdb -k on the kernel.debug instead. Ok, here comes the new trace: ---------------------------------------------------------- shell# gdb -k kernel.debug /var/crash/vmcore.1 GNU gdb 4.18 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-freebsd"... IdlePTD 2883584 initial pcb at 24c320 panicstr: page fault panic messages: --- dmesg: kvm_read: --- #0 dumpsys () at ../../kern/kern_shutdown.c:469 469 if (dumping++) { (kgdb) where #0 dumpsys () at ../../kern/kern_shutdown.c:469 #1 0xc013318f in boot (howto=256) at ../../kern/kern_shutdown.c:309 #2 0xc013350c in poweroff_wait (junk=0xc022952f, howto=-662374720) at ../../kern/kern_shutdown.c:556 #3 0xc0200461 in trap_fatal (frame=0xd892fa68, eva=3232010240) at ../../i386/i386/trap.c:951 #4 0xc0200139 in trap_pfault (frame=0xd892fa68, usermode=0, eva=3232010240) at ../../i386/i386/trap.c:844 #5 0xc01ffd1f in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, tf_edi = -1062957084, tf_esi = 0, tf_ebp = -661456160, tf_isp = -661456236, tf_ebx = 0, tf_edx = -661456112, tf_ecx = -661456116, tf_eax = 11008, tf_trapno = 12, tf_err = 0, tf_eip = -1072135459, tf_cs = 8, tf_eflags = 66118, tf_esp = 16128, tf_ss = 638}) at ../../i386/i386/trap.c:443 #6 0xc01882dd in fr_makefrip (hlen=20, ip=0xc0a48fe4, fin=0xd892fb0c) at ../../netinet/fil.c:258 #7 0xc018e20c in fr_checkicmpmatchingstate (ip=0xc0a48fc8, fin=0xd892fc1c) at ../../netinet/ip_state.c:1081 #8 0xc018e44d in fr_checkstate (ip=0xc0a48fc8, fin=0xd892fc1c) at ../../netinet/ip_state.c:1194 #9 0xc0188ecc in fr_check (ip=0xc0a48fc8, hlen=20, ifp=0xc02634e0, out=1, mp=0xd892fcd4) at ../../netinet/fil.c:887 #10 0xc017d124 in ip_output (m0=0xc0a48f00, opt=0x0, ro=0xd892fd14, flags=0, ---Type to continue, or q to quit--- imo=0x0) at ../../netinet/ip_output.c:437 #11 0xc017b416 in icmp_send (m=0xc0a48f00, opts=0x0) at ../../netinet/ip_icmp.c:753 #12 0xc017b397 in icmp_reflect (m=0xc0a48f00) at ../../netinet/ip_icmp.c:715 #13 0xc017acbd in icmp_error (n=0xc099e900, type=3, code=3, dest=0, destifp=0x0) at ../../netinet/ip_icmp.c:225 #14 0xc0185be4 in udp_input (m=0xc099e900, off=20, proto=17) at ../../netinet/udp_usrreq.c:364 #15 0xc017bdcb in ip_input (m=0xc099e900) at ../../netinet/ip_input.c:731 #16 0xc017be2b in ipintr () at ../../netinet/ip_input.c:759 #17 0xc01f69d5 in swi_net_next () #18 0xc0153881 in sendit (p=0xd884f6c0, s=4, mp=0xd892ff10, flags=0) at ../../kern/uipc_syscalls.c:520 #19 0xc0153975 in sendto (p=0xd884f6c0, uap=0xd892ff80) at ../../kern/uipc_syscalls.c:572 #20 0xc020070d in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 134594596, tf_esi = 4, tf_ebp = -1077937012, tf_isp = -661454892, tf_ebx = 134569988, tf_edx = 134594560, tf_ecx = -37, tf_eax = 133, tf_trapno = 12, tf_err = 2, tf_eip = 671903036, tf_cs = 31, tf_eflags = 514, tf_esp = -1077937104, tf_ss = 47}) at ../../i386/i386/trap.c:1150 #21 0xc01f5575 in Xint0x80_syscall () Cannot access memory at address 0xbfbffc8c. (kgdb) disassemble fr_makefrip Dump of assembler code for function fr_makefrip: 0xc0188174 : push %ebp 0xc0188175 : mov %esp,%ebp 0xc0188177 : sub $0x2c,%esp 0xc018817a : push %edi 0xc018817b : push %esi 0xc018817c : push %ebx 0xc018817d : mov 0xc(%ebp),%edi 0xc0188180 : mov 0x10(%ebp),%ecx 0xc0188183 : movw $0x0,0xfffffffe(%ebp) 0xc0188189 : movw $0x0,0xfffffffc(%ebp) 0xc018818f : movw $0x0,0xfffffff8(%ebp) 0xc0188195 : lea 0x4(%ecx),%eax 0xc0188198 : mov %eax,0xffffffec(%ebp) 0xc018819b : movb $0x0,0x35(%ecx) 0xc018819f : movl $0x0,0x40(%ecx) 0xc01881a6 : movb $0x0,0x38(%ecx) 0xc01881aa : movw $0x0,0x30(%ecx) 0xc01881b0 : movw $0x0,0x32(%ecx) 0xc01881b6 : movw $0xffff,0x3a(%ecx) 0xc01881bc : movl $0xffffffff,0x3c(%ecx) 0xc01881c3 : mov 0xc023c7f0,%al 0xc01881c8 : mov %al,0x39(%ecx) 0xc01881cb : movzbl 0x4(%ecx),%eax 0xc01881cf : and $0xf,%eax 0xc01881d2 : mov %eax,0xfffffff0(%ebp) 0xc01881d5 : andb $0xf0,0x4(%ecx) 0xc01881d9 : or %al,0x4(%ecx) 0xc01881dc : mov 0x8(%ebp),%edx 0xc01881df : mov %dx,0x36(%ecx) 0xc01881e3 : cmpl $0x4,0xfffffff0(%ebp) 0xc01881e7 : jne 0xc0188298 0xc01881ed : movzwl 0x4(%edi),%eax 0xc01881f1 : mov %ax,0x4a(%ecx) 0xc01881f5 : mov 0x1(%edi),%al 0xc01881f8 : mov 0xffffffec(%ebp),%esi 0xc01881fb : mov %al,0x1(%esi) 0xc01881fe : movzwl 0x6(%edi),%eax 0xc0188202 : and $0x1f,%ah 0xc0188205 : movzwl %ax,%ebx 0xc0188208 : shl $0x3,%ebx 0xc018820b : mov 0x8(%ebp),%eax 0xc018820e : add %edi,%eax 0xc0188210 : mov %eax,0xffffffe4(%ebp) 0xc0188213 : movzwl 0x8(%edi),%eax 0xc0188217 : mov %ax,0x2(%esi) 0xc018821b : movl $0x0,0x8(%esi) 0xc0188222 : movl $0x0,0xc(%esi) 0xc0188229 : movl $0x0,0x10(%esi) 0xc0188230 : movl $0x0,0x18(%esi) 0xc0188237 : movl $0x0,0x1c(%esi) 0xc018823e : movl $0x0,0x20(%esi) 0xc0188245 : mov 0xc(%edi),%eax 0xc0188248 : mov %eax,0x4(%esi) 0xc018824b : mov 0x10(%edi),%eax 0xc018824e : mov %eax,0x14(%esi) 0xc0188251 : movzbl 0x9(%edi),%esi 0xc0188255 : cmpl $0x14,0x8(%ebp) 0xc0188259 : seta %al 0xc018825c : shl $0x4,%al 0xc018825f : andb $0xf,0x4(%ecx) 0xc0188263 : or %al,0x4(%ecx) 0xc0188266 : testl $0x3fff,0x6(%edi) 0xc018826d : je 0xc0188286 0xc018826f : mov 0x4(%ecx),%al 0xc0188272 : shr $0x4,%al 0xc0188275 : and $0xff,%eax 0xc018827a : or $0x4,%al 0xc018827c : shl $0x4,%al 0xc018827f : andb $0xf,0x4(%ecx) 0xc0188283 : or %al,0x4(%ecx) 0xc0188286 : movzwl 0x2(%edi),%edx 0xc018828a : mov %edx,%eax 0xc018828c : sub 0x8(%ebp),%eax 0xc018828f : mov %ax,0x48(%ecx) 0xc0188293 : jmp 0xc018830a 0xc0188295 : lea 0x0(%esi),%esi 0xc0188298 : cmpl $0x6,0xfffffff0(%ebp) 0xc018829c : jne 0xc018867c 0xc01882a2 : xor %ebx,%ebx 0xc01882a4 : movzbl 0x6(%edi),%esi 0xc01882a8 : mov %esi,%edx 0xc01882aa : mov 0xffffffec(%ebp),%eax 0xc01882ad : mov %dl,0x3(%eax) 0xc01882b0 : mov 0x7(%edi),%al 0xc01882b3 : mov 0xffffffec(%ebp),%edx 0xc01882b6 : mov %al,0x2(%edx) 0xc01882b9 : lea 0x28(%edi),%eax 0xc01882bc : mov %eax,0xffffffe4(%ebp) 0xc01882bf : mov 0x8(%edi),%eax 0xc01882c2 : mov %eax,0x4(%edx) 0xc01882c5 : mov 0xc(%edi),%eax 0xc01882c8 : mov %eax,0x8(%edx) 0xc01882cb : mov 0x10(%edi),%eax 0xc01882ce : mov %eax,0xc(%edx) 0xc01882d1 : mov 0x14(%edi),%eax 0xc01882d4 : mov %eax,0x10(%edx) 0xc01882d7 : mov 0x18(%edi),%eax 0xc01882da : mov %eax,0x14(%edx) 0xc01882dd : mov 0x1c(%edi),%eax 0xc01882e0 : mov %eax,0x18(%edx) 0xc01882e3 : mov 0x20(%edi),%eax 0xc01882e6 : mov %eax,0x1c(%edx) 0xc01882e9 : mov 0x24(%edi),%eax 0xc01882ec : mov %eax,0x20(%edx) 0xc01882ef : movzwl (%edi),%eax 0xc01882f2 : mov %ax,0x4a(%ecx) 0xc01882f6 : movb $0x0,0x1(%edx) 0xc01882fa : andb $0xf,(%edx) 0xc01882fd : movzwl 0x4(%edi),%eax 0xc0188301 : xchg %ah,%al 0xc0188303 : movzwl %ax,%edx 0xc0188306 : mov %dx,0x48(%ecx) 0xc018830a : mov %bx,0x52(%ecx) 0xc018830e : mov %dx,0x50(%ecx) 0xc0188312 : mov 0xffffffe4(%ebp),%eax 0xc0188315 : mov %eax,0x44(%ecx) 0xc0188318 : cmp $0x6,%esi 0xc018831b : je 0xc01883dc 0xc0188321 : jg 0xc0188330 0xc0188323 : cmp $0x1,%esi 0xc0188326 : je 0xc0188340 0xc0188328 : jmp 0xc018850f 0xc018832d : lea 0x0(%esi),%esi 0xc0188330 : cmp $0x11,%esi 0xc0188333 : je 0xc0188478 0xc0188339 : jmp 0xc018850f 0xc018833e : mov %esi,%esi 0xc0188340 : movl $0x1c,0xffffffd4(%ebp) 0xc0188347 : mov 0xffffffe4(%ebp),%esi 0xc018834a : mov %esi,0xffffffe0(%ebp) 0xc018834d : test %ebx,%ebx 0xc018834f : jne 0xc0188392 0xc0188351 : cmpb $0x0,(%esi) 0xc0188354 : je 0xc018835b 0xc0188356 : cmpb $0x8,(%esi) 0xc0188359 : jne 0xc0188364 0xc018835b : movl $0x8,0xffffffd4(%ebp) 0xc0188362 : jmp 0xc0188392 0xc0188364 : test %ebx,%ebx 0xc0188366 : jne 0xc0188392 0xc0188368 : mov 0xffffffe0(%ebp),%esi 0xc018836b : mov (%esi),%al 0xc018836d : add $0xf3,%al 0xc018836f : cmp $0x1,%al 0xc0188371 : ja 0xc018837c 0xc0188373 : movl $0x14,0xffffffd4(%ebp) 0xc018837a : jmp 0xc0188392 0xc018837c : test %ebx,%ebx 0xc018837e : jne 0xc0188392 0xc0188380 : mov 0xffffffe0(%ebp),%esi 0xc0188383 : mov (%esi),%al 0xc0188385 : add $0xef,%al 0xc0188387 : cmp $0x1,%al 0xc0188389 : ja 0xc0188392 0xc018838b : movl $0xc,0xffffffd4(%ebp) 0xc0188392 : mov 0x8(%ebp),%eax 0xc0188395 : add 0xffffffd4(%ebp),%eax 0xc0188398 : cmp %eax,%edx 0xc018839a : jge 0xc01883a0 0xc018839c : test %ebx,%ebx 0xc018839e : je 0xc01883a8 0xc01883a0 : lea 0xffffffff(%ebx),%eax 0xc01883a3 : cmp $0x1a,%eax 0xc01883a6 : ja 0xc01883bf 0xc01883a8 : mov 0xffffffec(%ebp),%edx 0xc01883ab : mov (%edx),%al 0xc01883ad : shr $0x4,%al 0xc01883b0 : and $0xff,%eax 0xc01883b5 : or $0x8,%al 0xc01883b7 : shl $0x4,%al 0xc01883ba : andb $0xf,(%edx) 0xc01883bd : or %al,(%edx) 0xc01883bf : cmpw $0x1,0x48(%ecx) 0xc01883c4 : jbe 0xc018850f 0xc01883ca : mov 0xffffffe4(%ebp),%esi 0xc01883cd : movzwl (%esi),%eax 0xc01883d0 : mov %ax,0x30(%ecx) 0xc01883d4 : jmp 0xc018850f 0xc01883d9 : lea 0x0(%esi),%esi 0xc01883dc : mov 0xffffffec(%ebp),%esi 0xc01883df : mov (%esi),%al 0xc01883e1 : shr $0x4,%al 0xc01883e4 : and $0xff,%eax 0xc01883e9 : or $0x2,%al 0xc01883eb : shl $0x4,%al 0xc01883ee : andb $0xf,(%esi) 0xc01883f1 : or %al,(%esi) 0xc01883f3 : cmpl $0x6,0xfffffff0(%ebp) 0xc01883f7 : jne 0xc0188414 0xc01883f9 : cmp $0x13,%edx 0xc01883fc : ja 0xc0188452 0xc01883fe : mov (%esi),%al 0xc0188400 : shr $0x4,%al 0xc0188403 : and $0xff,%eax 0xc0188408 : or $0x8,%al 0xc018840a : shl $0x4,%al 0xc018840d : andb $0xf,(%esi) 0xc0188410 : or %al,(%esi) 0xc0188412 : jmp 0xc0188452 0xc0188414 : cmpl $0x4,0xfffffff0(%ebp) 0xc0188418 : jne 0xc0188452 0xc018841a : movzwl 0x2(%edi),%edx 0xc018841e : movzbl (%edi),%eax 0xc0188421 : and $0xf,%eax 0xc0188424 : lea 0x14(,%eax,4),%eax 0xc018842b : cmp %eax,%edx 0xc018842d : jae 0xc0188433 0xc018842f : test %ebx,%ebx 0xc0188431 : je 0xc018843b 0xc0188433 : lea 0xffffffff(%ebx),%eax 0xc0188436 : cmp $0x12,%eax 0xc0188439 : ja 0xc0188452 0xc018843b : mov 0xffffffec(%ebp),%edx 0xc018843e : mov (%edx),%al 0xc0188440 : shr $0x4,%al 0xc0188443 : and $0xff,%eax 0xc0188448 : or $0x8,%al 0xc018844a : shl $0x4,%al 0xc018844d : andb $0xf,(%edx) 0xc0188450 : or %al,(%edx) 0xc0188452 : mov 0xffffffec(%ebp),%esi 0xc0188455 : mov (%esi),%al 0xc0188457 : shr $0x4,%al 0xc018845a : test $0x8,%al 0xc018845c : jne 0xc01884ee 0xc0188462 : test %ebx,%ebx 0xc0188464 : jne 0xc018850f 0xc018846a : mov 0xffffffe4(%ebp),%edx 0xc018846d : mov 0xd(%edx),%al 0xc0188470 : mov %al,0x38(%ecx) 0xc0188473 : jmp 0xc01884ee 0xc0188475 : lea 0x0(%esi),%esi 0xc0188478 : mov 0xffffffec(%ebp),%esi 0xc018847b : mov (%esi),%al 0xc018847d : shr $0x4,%al 0xc0188480 : and $0xff,%eax 0xc0188485 : or $0x2,%al 0xc0188487 : shl $0x4,%al 0xc018848a : andb $0xf,(%esi) 0xc018848d : or %al,(%esi) 0xc018848f : cmpl $0x6,0xfffffff0(%ebp) 0xc0188493 : jne 0xc01884b0 0xc0188495 : cmp $0x7,%edx 0xc0188498 : ja 0xc01884ee 0xc018849a : mov (%esi),%al 0xc018849c : shr $0x4,%al 0xc018849f : and $0xff,%eax 0xc01884a4 : or $0x8,%al 0xc01884a6 : shl $0x4,%al 0xc01884a9 : andb $0xf,(%esi) 0xc01884ac : or %al,(%esi) 0xc01884ae : jmp 0xc01884ee 0xc01884b0 : cmpl $0x4,0xfffffff0(%ebp) 0xc01884b4 : jne 0xc01884ee 0xc01884b6 : movzwl 0x2(%edi),%edx 0xc01884ba : movzbl (%edi),%eax 0xc01884bd : and $0xf,%eax 0xc01884c0 : lea 0x8(,%eax,4),%eax 0xc01884c7 : cmp %eax,%edx 0xc01884c9 : jae 0xc01884cf 0xc01884cb : test %ebx,%ebx 0xc01884cd : je 0xc01884d7 0xc01884cf : lea 0xffffffff(%ebx),%eax 0xc01884d2 : cmp $0x6,%eax 0xc01884d5 : ja 0xc01884ee 0xc01884d7 : mov 0xffffffec(%ebp),%edx 0xc01884da : mov (%edx),%al 0xc01884dc : shr $0x4,%al 0xc01884df : and $0xff,%eax 0xc01884e4 : or $0x8,%al 0xc01884e6 : shl $0x4,%al 0xc01884e9 : andb $0xf,(%edx) 0xc01884ec : or %al,(%edx) 0xc01884ee : test %ebx,%ebx 0xc01884f0 : jne 0xc018850f 0xc01884f2 : cmpw $0x3,0x48(%ecx) 0xc01884f7 : jbe 0xc018850f 0xc01884f9 : mov 0xffffffe4(%ebp),%esi 0xc01884fc : movzwl (%esi),%eax 0xc01884ff : xchg %ah,%al 0xc0188501 : mov %ax,0x30(%ecx) 0xc0188505 : movzwl 0x2(%esi),%eax 0xc0188509 : xchg %ah,%al 0xc018850b : mov %ax,0x32(%ecx) 0xc018850f : cmpl $0x6,0xfffffff0(%ebp) 0xc0188513 : jne 0xc0188530 0xc0188515 : mov 0xffffffec(%ebp),%eax 0xc0188518 : movl $0x0,0x24(%eax) 0xc018851f : movw $0x0,0x28(%eax) 0xc0188525 : movw $0x0,0x2a(%eax) 0xc018852b : jmp 0xc018867c 0xc0188530 : add $0x14,%edi 0xc0188533 : addl $0xffffffec,0x8(%ebp) 0xc0188537 : jmp 0xc0188615 0xc018853c : mov $0x9,%ebx 0xc0188541 : mov $0x4,%ecx 0xc0188546 : movzwl 0xc023c9d8,%edx 0xc018854d : mov %dx,0xffffffdc(%ebp) 0xc0188551 : lea 0x0(%esi),%esi 0xc0188554 : lea 0x0(,%ebx,8),%eax 0xc018855b : lea 0xc023c920(%eax),%esi 0xc0188561 : mov 0xffffffeb(%ebp),%dl 0xc0188564 : cmp 0xc023c920(%eax),%dl 0xc018856a : jne 0xc01885f4 0xc0188570 : movzwl 0x4(%esi),%esi 0xc0188574 : or %si,0xfffffffe(%ebp) 0xc0188578 : cmp $0x82,%dl 0xc018857b : jne 0xc018860d 0xc0188581 : mov 0x2(%edi),%al 0xc0188584 : mov %al,0xffffffdf(%ebp) 0xc0188587 : mov $0x3,%esi 0xc018858c : mov $0x2,%ebx 0xc0188591 : mov $0xc023c9d8,%ecx 0xc0188596 : movzbw 0xffffffdf(%ebp),%ax 0xc018859b : cmp 0xffffffdc(%ebp),%ax 0xc018859f : je 0xc01885d4 0xc01885a1 : lea 0x0(%esi),%esi 0xc01885a4 : movzbw 0xffffffdf(%ebp),%ax 0xc01885a9 : cmp (%ecx),%ax 0xc01885ac : jae 0xc01885b4 0xc01885ae : sub %ebx,%esi 0xc01885b0 : jmp 0xc01885b6 0xc01885b2 : mov %esi,%esi 0xc01885b4 : add %ebx,%esi 0xc01885b6 : dec %ebx 0xc01885b7 : js 0xc018860d 0xc01885b9 : lea 0x0(,%esi,8),%edx 0xc01885c0 : lea 0xc023c9c0(%edx),%ecx 0xc01885c6 : movzbw 0xffffffdf(%ebp),%ax 0xc01885cb : cmp 0xc023c9c0(%edx),%ax 0xc01885d2 : jne 0xc01885a4 0xc01885d4 : movzwl 0x4(%ecx),%ecx 0xc01885d8 : or %cx,0xfffffffc(%ebp) 0xc01885dc : movzbl 0x3(%edi),%eax 0xc01885e0 : shl $0x8,%eax 0xc01885e3 : mov %ax,0xfffffff8(%ebp) 0xc01885e7 : movzbw 0x4(%edi),%ax 0xc01885ec : add %ax,0xfffffff8(%ebp) 0xc01885f0 : jmp 0xc018860d 0xc01885f2 : mov %esi,%esi 0xc01885f4 : movzbw 0xffffffeb(%ebp),%ax 0xc01885f9 : cmp (%esi),%ax 0xc01885fc : jae 0xc0188604 0xc01885fe : sub %ecx,%ebx 0xc0188600 : jmp 0xc0188606 0xc0188602 : mov %esi,%esi 0xc0188604 : add %ecx,%ebx 0xc0188606 : dec %ecx 0xc0188607 : jns 0xc0188554 0xc018860d : mov 0xfffffff4(%ebp),%edx 0xc0188610 : sub %edx,0x8(%ebp) 0xc0188613 : add %edx,%edi 0xc0188615 : cmpl $0x0,0x8(%ebp) 0xc0188619 : jle 0xc0188651 0xc018861b : mov (%edi),%al 0xc018861d : mov %al,0xffffffeb(%ebp) 0xc0188620 : test %al,%al 0xc0188622 : je 0xc0188651 0xc0188624 : cmp $0x1,%al 0xc0188626 : jne 0xc0188634 0xc0188628 : movl $0x1,0xfffffff4(%ebp) 0xc018862f : jmp 0xc018853c 0xc0188634 : cmpl $0x1,0x8(%ebp) 0xc0188638 : jle 0xc0188651 0xc018863a : movzbl 0x1(%edi),%edx 0xc018863e : mov %edx,0xfffffff4(%ebp) 0xc0188641 : cmp $0x1,%edx 0xc0188644 : jle 0xc0188651 0xc0188646 : mov 0x8(%ebp),%esi 0xc0188649 : cmp %esi,%edx 0xc018864b : jle 0xc018853c 0xc0188651 : cmpw $0x0,0xfffffff8(%ebp) 0xc0188656 : je 0xc0188664 0xc0188658 : mov 0xfffffff8(%ebp),%eax 0xc018865b : test $0x1,%ah 0xc018865e : jne 0xc0188664 0xc0188660 : movb $0x0,0xfffffff8(%ebp) 0xc0188664 : movzwl 0xfffffffe(%ebp),%eax 0xc0188668 : mov 0xffffffec(%ebp),%edx 0xc018866b : mov %eax,0x24(%edx) 0xc018866e : mov 0xfffffffc(%ebp),%esi 0xc0188671 : mov %si,0x28(%edx) 0xc0188675 : mov 0xfffffff8(%ebp),%eax 0xc0188678 : mov %ax,0x2a(%edx) 0xc018867c : pop %ebx 0xc018867d : pop %esi 0xc018867e : pop %edi 0xc018867f : leave 0xc0188680 : ret End of assembler dump. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message