On Sat, 7 Aug 2010, John Klos wrote:
(gdb) info reg r0 0x0 0 r1 0x82e228df -2099107617 r2 0x0 0 r3 0x7fffe044 2147475524 r4 0xc1714200 -1049542144 r5 0x7fffe040 2147475520 r6 0x0 0 r7 0x5 5 r8 0x0 0 r9 0x7f538000 2136178688 r10 0x138 312 r11 0x0 0 ap 0x7fffe048 2147475528 fp 0x7fffe0ac 2147475628 sp 0x7fffe02c 2147475500 pc 0x80196183 -2145820285 ps 0x3c00005 62914565
The failing instruction was "movd %r9,%r0", which I think is moving the D-floating in R9/R10 to R0/R1. If so, it looks like R9 has the sign bit set and the exponent 0, which I think is a reserved operand.
However, looking at that instruction, it doesn't make any sense to me. I don't see where R9 came from, and it looks like it actually contains an address at the upper end of the user address space (probably in the shared libraries?).
-- Michael L. Hitch mhitch%montana.edu@localhost Computer Consultant Information Technology Center Montana State University Bozeman, MT USA