Add a patch to cast pointers to intptr_t instead of int when performing

arithmetic on a stack address.  This fixes arch's such as alpha where
sizeof(int) != sizeof(void *).

Requested by:	kris
This commit is contained in:
John Baldwin 2003-03-18 18:17:58 +00:00
parent 20891a02d0
commit 24ff7276b7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=77151
2 changed files with 26 additions and 8 deletions

View file

@ -1,10 +1,19 @@
--- libs/ext/cothreads/cothreads/cothreads.c.orig Thu Nov 14 15:19:11 2002 --- libs/ext/cothreads/cothreads/cothreads.c.orig Sat Feb 1 16:09:23 2003
+++ libs/ext/cothreads/cothreads/cothreads.c Thu Nov 14 15:20:02 2002 +++ libs/ext/cothreads/cothreads/cothreads.c Mon Mar 17 13:33:43 2003
@@ -21,6 +21,7 @@ @@ -22,6 +22,7 @@
#include "pth_p.h" /* this pulls in everything */ #include "pth_p.h" /* this pulls in everything */
#include <sys/mman.h> #include <sys/mman.h>
+#include <sys/time.h> +#include <sys/time.h>
#include <sys/resource.h> #include <sys/resource.h>
#include <stdlib.h>
@@ -422,7 +423,7 @@
*stack = malloc (_cothreads_chunk_size * (1.0 + 1.0/_cothreads_count));
if (!stack)
return FALSE;
- *stack = (void*)((int)*stack &~ (int)(_cothreads_chunk_size / _cothreads_count - 1));
+ *stack = (void*)((intptr_t)*stack &~ (intptr_t)(_cothreads_chunk_size / _cothreads_count - 1));
*stack += 1;
#endif
/* older glibc's have MAP_ANON instead of MAP_ANONYMOUS */

View file

@ -1,10 +1,19 @@
--- libs/ext/cothreads/cothreads/cothreads.c.orig Thu Nov 14 15:19:11 2002 --- libs/ext/cothreads/cothreads/cothreads.c.orig Sat Feb 1 16:09:23 2003
+++ libs/ext/cothreads/cothreads/cothreads.c Thu Nov 14 15:20:02 2002 +++ libs/ext/cothreads/cothreads/cothreads.c Mon Mar 17 13:33:43 2003
@@ -21,6 +21,7 @@ @@ -22,6 +22,7 @@
#include "pth_p.h" /* this pulls in everything */ #include "pth_p.h" /* this pulls in everything */
#include <sys/mman.h> #include <sys/mman.h>
+#include <sys/time.h> +#include <sys/time.h>
#include <sys/resource.h> #include <sys/resource.h>
#include <stdlib.h>
@@ -422,7 +423,7 @@
*stack = malloc (_cothreads_chunk_size * (1.0 + 1.0/_cothreads_count));
if (!stack)
return FALSE;
- *stack = (void*)((int)*stack &~ (int)(_cothreads_chunk_size / _cothreads_count - 1));
+ *stack = (void*)((intptr_t)*stack &~ (intptr_t)(_cothreads_chunk_size / _cothreads_count - 1));
*stack += 1;
#endif
/* older glibc's have MAP_ANON instead of MAP_ANONYMOUS */