------- Comment #4 from rfm at gnu dot org  2009-11-12 11:48 -------
I'm a bit disappointed at the lack of activity on this bug report.

I've been looking at the libffi code myself (though I'm certainly no expert at
this low-level stuff) and have come up with two issues:

1. If I edit libffi-3.0.9rc3/src/x86/ffi64.c and comment out the condition
|| (n == 2 && SSE_CLASS_P (classes[0]) == SSE_CLASS_P (classes[1])) in
ffi_closure_unix64_inner()
then this bug goes away (and the change does not appear to break anything in
the testsuite).
Perhaps someone who understands this stuff could look at this and see why this
change appears to fix things (and what it might be breaking).

2. In the classify_argument() function in the same file, there is a comment
which reads:

/*  X86_64_X87UP_CLASS should be preceded by X86_64_X87_CLASS.  */

This doesn't match what the code does ... perhaps the code needs to be changed
to match the comment...
              classes[i] = X86_64_X87_CLASS;


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41908

Reply via email to