|
From: Tom H. <th...@cy...> - 2005-07-18 12:03:05
|
SVN commit 435847 by thughes: Preserve %esi across VG_(clone) as the caller may be relying on it not being changed. Fix to bug #106713. M +3 -1 syscall.S =20 --- trunk/valgrind/coregrind/x86-linux/syscall.S #435846:435847 @@ -77,9 +77,10 @@ */ .globl VG_(clone) VG_(clone): -#define FSZ (4+4+4) /* frame size =3D retaddr+ebx+edi */ +#define FSZ (4+4+4+4) /* frame size =3D retaddr+ebx+edi+esi */ push %ebx push %edi + push %esi /* set up child stack with function and arg */ movl 4+FSZ(%esp), %ecx /* child stack */ movl 12+FSZ(%esp), %ebx /* fn arg */ @@ -111,6 +112,7 @@ ud2 =09 1: /* PARENT or ERROR */ + pop %esi pop %edi pop %ebx ret |