[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: oskit/mach copyout_retry bug
From: |
Derek L Davies |
Subject: |
Re: oskit/mach copyout_retry bug |
Date: |
06 Oct 2002 11:45:19 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 |
Roland McGrath <roland@gnu.org> writes:
> Do info regs and disas $pc in that gdb too.
>
Here it is:
(gdb) disas $pc
Dump of assembler code for function copyout_retry:
0x13c285 <copyout_retry>: mov %cr3,%ecx
0x13c288 <copyout_retry+3>: mov %edi,%eax
0x13c28a <copyout_retry+5>: shr $0x16,%eax
0x13c28d <copyout_retry+8>: mov 0x0(%ecx,%eax,4),%ecx
0x13c291 <copyout_retry+12>: test $0x1,%ecx
0x13c297 <copyout_retry+18>: je 0x13c2c6 <copyout_retry+65>
0x13c299 <copyout_retry+20>: and $0xfffff000,%ecx
0x13c29f <copyout_retry+26>: mov %edi,%eax
0x13c2a1 <copyout_retry+28>: shr $0xc,%eax
0x13c2a4 <copyout_retry+31>: and $0x3ff,%eax
0x13c2a9 <copyout_retry+36>: lea 0x0(%ecx,%eax,4),%ecx
0x13c2ad <copyout_retry+40>: mov (%ecx),%eax
0x13c2af <copyout_retry+42>: test $0x1,%eax
0x13c2b4 <copyout_retry+47>: je 0x13c2c6 <copyout_retry+65>
0x13c2b6 <copyout_retry+49>: test $0x2,%eax
0x13c2bb <copyout_retry+54>: jne 0x13c2c6 <copyout_retry+65>
0x13c2bd <copyout_retry+56>: andl $0xfffffffe,(%ecx)
0x13c2c0 <copyout_retry+59>: mov %cr3,%eax
0x13c2c3 <copyout_retry+62>: mov %eax,%cr3
0x13c2c6 <copyout_retry+65>: lea 0x1000(%edi),%eax
0x13c2cc <copyout_retry+71>: and $0xfffff000,%eax
0x13c2d1 <copyout_retry+76>: sub %edi,%eax
0x13c2d3 <copyout_retry+78>: cmp %edx,%eax
0x13c2d5 <copyout_retry+80>: jle 0x13c2d9 <copyout_retry+84>
0x13c2d7 <copyout_retry+82>: mov %edx,%eax
0x13c2d9 <copyout_retry+84>: mov %eax,%ecx
0x13c2db <copyout_retry+86>: shr $0x2,%ecx
0x13c2de <copyout_retry+89>: repz movsl %ds:(%esi),%es:(%edi)
0x13c2e0 <copyout_retry+91>: mov %eax,%ecx
0x13c2e2 <copyout_retry+93>: and $0x3,%ecx
0x13c2e5 <copyout_retry+96>: repz movsb %ds:(%esi),%es:(%edi)
0x13c2e7 <copyout_retry+98>: sub %eax,%edx
0x13c2e9 <copyout_retry+100>: jg 0x13c285 <copyout_retry>
0x13c2eb <copyout_retry+102>: xor %eax,%eax
End of assembler dump.
(gdb) info regis
eax 0x1000 4096
ecx 0x3ff 1023
edx 0x1f87c 129148
ebx 0x1fbd0 130000
esp 0x379de5c 0x379de5c
ebp 0x379de90 0x379de90
esi 0x78e004 7921668
edi 0x4 4
eip 0x13c2de 0x13c2de
eflags 0x10216 66070
cs 0x10 16
ss 0x18 24
ds 0x120018 1179672
es 0x379001f 58261535
fs 0x10000 65536
gs 0x0 0
fctrl 0x0 0
fstat 0x0 0
ftag 0x0 0
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm1 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm2 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm3 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm4 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm5 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm6 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
xmm7 {f = {0x0, 0x0, 0x0, 0x0}} {f = {0, 0, 0, 0}}
mxcsr 0x0 0
(gdb)
Thanks,
Derek
--