Define _GNU_SOURCE on Linux for mremap()
authorBerker Peksag <berker.peksag@gmail.com>
Mon, 7 Mar 2016 16:38:10 +0000 (18:38 +0200)
committerBerker Peksag <berker.peksag@gmail.com>
Wed, 18 May 2016 07:42:38 +0000 (10:42 +0300)
This was committed to CPython's libffi copy in
https://bugs.python.org/issue10309

mremap() documentation says _GNU_SOURCE needs to
be defined in order to use mremap(): see the
synopsis section at http://linux.die.net/man/2/mremap

Original commit: https://hg.python.org/cpython/rev/9986fff720a2

Original patch was written by Hallvard B Furuseth.

src/dlmalloc.c

index 7e4ea83..d63dd36 100644 (file)
@@ -438,6 +438,11 @@ DEFAULT_MMAP_THRESHOLD       default: 256K
 
 */
 
+#if defined __linux__ && !defined _GNU_SOURCE
+/* mremap() on Linux requires this via sys/mman.h */
+#define _GNU_SOURCE 1
+#endif
+
 #ifndef WIN32
 #ifdef _WIN32
 #define WIN32 1