Okay, found the issue with the crash (I think).  It looks like:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8049
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10395

The relevant instructions, when single-stepping through sprintf(), are:

0x00002b008c63555f <sprintf+95>:        mov    %rsp,%rdx
0x00002b008c635562 <sprintf+98>:        jmpq   *%r8d
<<movaps instructions that aren't hit>>
0x00002b008c635581 <sprintf+129>:       movaps %xmm0,0xffffffffffffff81(%rcx)

As any/all floating point values are handled in *printf() with xmm
registers, the first movaps instruction causes it to spit out a segfault.

I'm a bit fuzzy on the full implications, but if I'm reading it right (and
eyeballing the disassembly right), it needs glibc rebuilt, too.

Looks like gprolog on amd64 can't be built as a native binary until glibc
is rebuilt and a backport for gcc 3.4.x is done, or gprolog gets ported to
gcc 4.x.  Argh. :(

Or I could be completely and totally wrong.

-- DN
Daniel


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to