|
From: <sv...@va...> - 2006-01-19 03:50:56
|
Author: sewardj
Date: 2006-01-19 03:50:48 +0000 (Thu, 19 Jan 2006)
New Revision: 5557
Log:
This was segfaulting on ppc64-linux, even natively. These changes
stop it doing that. Am not convinced this is a good fix -- I don't
really understand how this program works.
Modified:
trunk/memcheck/tests/stack_switch.c
Modified: trunk/memcheck/tests/stack_switch.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
--- trunk/memcheck/tests/stack_switch.c 2006-01-19 03:48:47 UTC (rev 5556=
)
+++ trunk/memcheck/tests/stack_switch.c 2006-01-19 03:50:48 UTC (rev 5557=
)
@@ -24,6 +24,7 @@
=20
memset( buffer, 1, sizeof( buffer ) );
=20
+ sleep(2); /* ppc64-linux hack */
return memchr( buffer, 1, sizeof( buffer ) ) =3D=3D NULL;
}
=20
@@ -33,7 +34,8 @@
int stackid;
pid_t pid;
=20
- if ( ( stack =3D mmap( NULL, STACK_SIZE, PROT_READ|PROT_WRITE, MAP_PR=
IVATE|MAP_ANONYMOUS, -1, 0 ) ) =3D=3D MAP_FAILED )
+ /* "2*" is a ppc64-linux hack */
+ if ( ( stack =3D mmap( NULL, 2* STACK_SIZE, PROT_READ|PROT_WRITE, MAP=
_PRIVATE|MAP_ANONYMOUS, -1, 0 ) ) =3D=3D MAP_FAILED )
{
perror( "mmap" );
exit( 1 );
|