|
From: <sv...@va...> - 2006-10-05 08:11:07
|
Author: tom
Date: 2006-10-05 09:11:06 +0100 (Thu, 05 Oct 2006)
New Revision: 6184
Log:
Mark the argument block as volatile to ensure the compiler actually
bothers to do the write to it (as it can't know that the inline
assembly is going to read from it).
Modified:
branches/AIX5/coregrind/m_syswrap/syswrap-ppc32-aix5.c
branches/AIX5/coregrind/m_syswrap/syswrap-ppc64-aix5.c
Modified: branches/AIX5/coregrind/m_syswrap/syswrap-ppc32-aix5.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/AIX5/coregrind/m_syswrap/syswrap-ppc32-aix5.c 2006-10-05 08:=
10:01 UTC (rev 6183)
+++ branches/AIX5/coregrind/m_syswrap/syswrap-ppc32-aix5.c 2006-10-05 08:=
11:06 UTC (rev 6184)
@@ -244,7 +244,7 @@
Word arg1 )
{
UWord* fdescr =3D (UWord*)f_NORETURN;
- UWord block[5];
+ volatile UWord block[5];
block[0] =3D fdescr[0]; /* nia */
block[1] =3D stack; /* r1 */
block[2] =3D fdescr[1]; /* r2 */
Modified: branches/AIX5/coregrind/m_syswrap/syswrap-ppc64-aix5.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/AIX5/coregrind/m_syswrap/syswrap-ppc64-aix5.c 2006-10-05 08:=
10:01 UTC (rev 6183)
+++ branches/AIX5/coregrind/m_syswrap/syswrap-ppc64-aix5.c 2006-10-05 08:=
11:06 UTC (rev 6184)
@@ -244,7 +244,7 @@
Word arg1 )
{
UWord* fdescr =3D (UWord*)f_NORETURN;
- UWord block[5];
+ volatile UWord block[5];
block[0] =3D fdescr[0]; /* nia */
block[1] =3D stack; /* r1 */
block[2] =3D fdescr[1]; /* r2 */
|