Fixed #58 zdot SEGFAULT bug with GCC-4.6. Thank Mr. John for this patch.
authorZhang Xiianyi <traits@debian32bits.rdcps.ac.cn>
Wed, 14 Sep 2011 15:52:51 +0000 (23:52 +0800)
committerZhang Xiianyi <traits@debian32bits.rdcps.ac.cn>
Wed, 14 Sep 2011 15:52:51 +0000 (23:52 +0800)
commit7b410b7f0e94edde2a606593086694ae6bb17be8
tree5ab83fb543c590d8d2cc38b3021b8e4fa2a83454
parent260db9fb9e7499ff4f3b82577bb1c0b1075d48e4
Fixed #58 zdot SEGFAULT bug with GCC-4.6. Thank Mr. John for this patch.

In i386 calling convention, the caller put the address of return value of zdot into the first hidden parameter.
Thus, the callee should delete this address before return.
Actually, I have fixed the same bug on x86/zdot_sse2.S (issue #32). However, that is not a good implementation which uses 3 instructions. Mr. John told me used "ret $0x4" to skip the first hidden address (4 bytes).
kernel/x86/xdot.S
kernel/x86/zdot.S
kernel/x86/zdot_sse2.S