* include/sys/cygwin.h (struct per_process): Add posix_memalign. Reduce
size of unused2 accordingly. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Initialize u->posix_memalign with address of posix_memalign. * malloc_wrapper.cc (posix_memalign): Call user-provided posix_memalign rather than just returning ENOSYS. * globals.cc (__cygwin_user_data): Initialize posix_memalign member.
This commit is contained in:
		
							parent
							
								
									111ced6d60
								
							
						
					
					
						commit
						ef23b0a6a4
					
				|  | @ -1,3 +1,14 @@ | |||
| 2013-08-14  Corinna Vinschen  <corinna@vinschen.de> | ||||
| 
 | ||||
| 	* include/sys/cygwin.h (struct per_process): Add posix_memalign.  Reduce | ||||
| 	size of unused2 accordingly. | ||||
| 	* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. | ||||
| 	* lib/_cygwin_crt0_common.cc (_cygwin_crt0_common): Initialize | ||||
| 	u->posix_memalign with address of posix_memalign. | ||||
| 	* malloc_wrapper.cc (posix_memalign): Call user-provided posix_memalign | ||||
| 	rather than just returning ENOSYS. | ||||
| 	* globals.cc (__cygwin_user_data): Initialize posix_memalign member. | ||||
| 
 | ||||
| 2013-08-09  Corinna Vinschen  <corinna@vinschen.de> | ||||
| 
 | ||||
| 	* include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 24. | ||||
|  |  | |||
|  | @ -194,6 +194,7 @@ extern "C" { | |||
|    /* api_major */ 0, | ||||
|    /* api_minor */ 0, | ||||
|    /* unused2 */ {}, | ||||
|    /* posix_memalign */ posix_memalign, | ||||
|    /* pseudo_reloc_start */ NULL, | ||||
|    /* pseudo_reloc_end */ NULL, | ||||
|    /* image_base */ NULL, | ||||
|  |  | |||
|  | @ -438,12 +438,13 @@ details. */ | |||
| 	   arc4random_stir, arc4random_uniform. | ||||
|       267: Export rawmemchr. | ||||
|       268: Export GetCommandLineA, GetCommandLineW | ||||
|       269: Allow application override of posix_memalign. | ||||
|      */ | ||||
| 
 | ||||
|      /* Note that we forgot to bump the api for ualarm, strtoll, strtoull */ | ||||
| 
 | ||||
| #define CYGWIN_VERSION_API_MAJOR 0 | ||||
| #define CYGWIN_VERSION_API_MINOR 268 | ||||
| #define CYGWIN_VERSION_API_MINOR 269 | ||||
| 
 | ||||
|      /* There is also a compatibity version number associated with the
 | ||||
| 	shared memory regions.  It is incremented when incompatible | ||||
|  |  | |||
|  | @ -304,10 +304,13 @@ struct per_process | |||
|   /* For future expansion, so apps won't have to be relinked if we
 | ||||
|      add an item. */ | ||||
| #ifdef __x86_64__ | ||||
|   DWORD_PTR unused2[5]; | ||||
|   DWORD_PTR unused2[4]; | ||||
| #else | ||||
|   DWORD_PTR unused2[3]; | ||||
|   DWORD_PTR unused2[2]; | ||||
| #endif | ||||
| 
 | ||||
|   int (*posix_memalign)(void **, size_t, size_t); | ||||
| 
 | ||||
|   void *pseudo_reloc_start; | ||||
|   void *pseudo_reloc_end; | ||||
|   void *image_base; | ||||
|  |  | |||
|  | @ -145,6 +145,7 @@ _cygwin_crt0_common (MainFunc f, per_process *u) | |||
|   u->free = &free; | ||||
|   u->realloc = &realloc; | ||||
|   u->calloc = &calloc; | ||||
|   u->posix_memalign = &posix_memalign; | ||||
| 
 | ||||
|   /* Likewise for the C++ memory operators, if any, but not if we
 | ||||
|      were dlopen()'d, as we might get dlclose()'d and that would | ||||
|  |  | |||
|  | @ -115,7 +115,7 @@ posix_memalign (void **memptr, size_t alignment, size_t bytes) | |||
| 
 | ||||
|   void *res; | ||||
|   if (!use_internal) | ||||
|     return ENOSYS; | ||||
|     return user_data->posix_memalign (memptr, alignment, bytes); | ||||
|   if ((alignment & (alignment - 1)) != 0) | ||||
|     return EINVAL; | ||||
|   __malloc_lock (); | ||||
|  |  | |||
|  | @ -0,0 +1,13 @@ | |||
| What's new: | ||||
| ----------- | ||||
| 
 | ||||
| - Allow application override of posix_memalign. | ||||
| 
 | ||||
| 
 | ||||
| What changed: | ||||
| ------------- | ||||
| 
 | ||||
| 
 | ||||
| Bug fixes: | ||||
| ---------- | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue