|
From: <sv...@va...> - 2006-02-28 13:05:12
|
Author: sewardj
Date: 2006-02-28 13:05:00 +0000 (Tue, 28 Feb 2006)
New Revision: 5703
Log:
Partial merge of r5662 (Fix CPU feature identification for ppc32)
Modified:
branches/VALGRIND_3_1_BRANCH/coregrind/m_machine.c
Modified: branches/VALGRIND_3_1_BRANCH/coregrind/m_machine.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/coregrind/m_machine.c 2006-02-27 09:34:2=
9 UTC (rev 5702)
+++ branches/VALGRIND_3_1_BRANCH/coregrind/m_machine.c 2006-02-28 13:05:0=
0 UTC (rev 5703)
@@ -341,8 +341,12 @@
VG_(sigaction)(VKI_SIGILL, NULL, &saved_act);
tmp_act =3D saved_act;
=20
+ /* NODEFER: signal handler does not return (from the kernel's
+ point of view), hence if it is to successfully catch a signal
+ more than once, we need the NODEFER flag. */
tmp_act.sa_flags &=3D ~VKI_SA_RESETHAND;
tmp_act.sa_flags &=3D ~VKI_SA_SIGINFO;
+ tmp_act.sa_flags |=3D VKI_SA_NODEFER;
=20
tmp_act.ksa_handler =3D handler_sigill;
VG_(sigaction)(VKI_SIGILL, &tmp_act, NULL);
|