From c56432804a5d2029c080843fe90680246f924d35 Mon Sep 17 00:00:00 2001 From: Barry Warsaw Date: Tue, 19 Jul 2011 17:06:30 -0400 Subject: [PATCH] - Issue #10309: Define _GNU_SOURCE so that mremap() gets the proper signature. Without this, architectures where sizeof void* != sizeof int are broken. Patch given by Hallvard B Furuseth. --- Misc/NEWS | 26 +++++++++++++++++--------- Modules/_ctypes/libffi/src/dlmalloc.c | 5 +++++ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index 88d706c1c9f..250fcc51ecd 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -9,8 +9,8 @@ What's New in Python 2.7.3? Core and Builtins ----------------- -- Issue #11627: Fix segfault when __new__ on a exception returns a non-exception - class. +- Issue #11627: Fix segfault when __new__ on a exception returns a + non-exception class. - Issue #12149: Update the method cache after a type's dictionnary gets cleared by the garbage collector. This fixes a segfault when an instance @@ -28,7 +28,8 @@ Core and Builtins the following case: sys.stdin.read() stopped with CTRL+d (end of file), raw_input() interrupted by CTRL+c. -- dict_proxy objects now display their contents rather than just the class name. +- dict_proxy objects now display their contents rather than just the class + name. Library ------- @@ -90,17 +91,24 @@ Library - Named tuples now work correctly with vars(). -- sys.setcheckinterval() now updates the current ticker count as well as updating - the check interval, so if the user decreases the check interval, the ticker - doesn't have to wind down to zero from the old starting point before the new - interval takes effect. And if the user increases the interval, it makes sure - the new limit takes effect right away rather have an early task switch before - recognizing the new interval. +- sys.setcheckinterval() now updates the current ticker count as well as + updating the check interval, so if the user decreases the check interval, + the ticker doesn't have to wind down to zero from the old starting point + before the new interval takes effect. And if the user increases the + interval, it makes sure the new limit takes effect right away rather have an + early task switch before recognizing the new interval. - Issue #12085: Fix an attribute error in subprocess.Popen destructor if the constructor has failed, e.g. because of an undeclared keyword argument. Patch written by Oleg Oshmyan. +Extension Modules +----------------- + +- Issue #10309: Define _GNU_SOURCE so that mremap() gets the proper + signature. Without this, architectures where sizeof void* != sizeof int are + broken. Patch given by Hallvard B Furuseth. + Build ----- diff --git a/Modules/_ctypes/libffi/src/dlmalloc.c b/Modules/_ctypes/libffi/src/dlmalloc.c index 783c5c2a6f9..582ddc34ba4 100644 --- a/Modules/_ctypes/libffi/src/dlmalloc.c +++ b/Modules/_ctypes/libffi/src/dlmalloc.c @@ -457,6 +457,11 @@ DEFAULT_MMAP_THRESHOLD default: 256K #define LACKS_ERRNO_H #define MALLOC_FAILURE_ACTION #define MMAP_CLEARS 0 /* WINCE and some others apparently don't clear */ +#elif !defined _GNU_SOURCE +/* mremap() on Linux requires this via sys/mman.h + * See roundup issue 10309 + */ +#define _GNU_SOURCE 1 #endif /* WIN32 */ #if defined(DARWIN) || defined(_DARWIN)