Skip to content

Commit 31040e4

Browse files
committed
Fixed #32 a SEGFAULT bug with gcc-4.6. According to i386 calling convention, The called funtion should remove the hidden return value address from the stack.
1 parent 3d7e62e commit 31040e4

File tree

2 files changed

+4
-0
lines changed

2 files changed

+4
-0
lines changed

Changelog.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ common:
2121

2222
x86/x86_64:
2323
* Fixed #28 a wrong result of dsdot on x86_64.
24+
* Fixed #32 a SEGFAULT bug of zdotc with gcc-4.6.
2425

2526
MIPS64:
2627
* Fixed #28 a wrong result of dsdot on Loongson3A/MIPS64.

kernel/x86/zdot_sse2.S

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1541,5 +1541,8 @@
15411541
popl %ebx
15421542
popl %esi
15431543
popl %edi
1544+
/*remove the hidden return value address from the stack.*/
1545+
popl %ecx
1546+
xchgl %ecx, 0(%esp)
15441547
ret
15451548
EPILOGUE

0 commit comments

Comments
 (0)