]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug#18368 with broken build on AIX due to HYBRID_MALLOC changes.
authorKen Brown <kbrown@cornell.edu>
Sun, 31 Aug 2014 02:40:00 +0000 (22:40 -0400)
committerKen Brown <kbrown@cornell.edu>
Sun, 31 Aug 2014 02:40:00 +0000 (22:40 -0400)
* src/gmalloc.c: Don't include <stdlib.h>.  Declare system malloc and
friends before defining hybrid_malloc and friends if HYBRID_MALLOC
is defined.  (Bug#18368)

src/ChangeLog
src/gmalloc.c

index 00ec5dcf3d6be94474ca0dad1c9db1a8d6eb4774..8f2e01f8cf9a6b08d077caeb7af511b47c9f4674 100644 (file)
@@ -1,3 +1,9 @@
+2014-08-31  Ken Brown  <kbrown@cornell.edu>
+
+       * gmalloc.c: Don't include <stdlib.h>.  Declare system malloc and
+       friends before defining hybrid_malloc and friends if HYBRID_MALLOC
+       is defined.  (Bug#18368)
+
 2014-08-30  Paul Eggert  <eggert@cs.ucla.edu>
 
        Vector-sorting fixes (Bug#18361).
index f4a32c79ca1d710160ca751151e761079dbd811d..2682b07ee47d9196932d036cec7c25bce77d1096 100644 (file)
@@ -19,13 +19,6 @@ License along with this library.  If not, see <http://www.gnu.org/licenses/>.
    The author may be reached (Email) at the address mike@ai.mit.edu,
    or (US mail) as Mike Haertel c/o Free Software Foundation.  */
 
-/* If HYBRID_MALLOC is defined in config.h, then conf_post.h #defines
-   malloc and friends as macros before including stdlib.h.  In this
-   file we will need the prototypes for the system malloc, so we must
-   include stdlib.h before config.h.  And we have to do this
-   unconditionally, since HYBRID_MALLOC hasn't been defined yet.  */
-#include <stdlib.h>
-
 #include <config.h>
 
 #if defined HAVE_PTHREAD && !defined HYBRID_MALLOC
@@ -1725,6 +1718,17 @@ valloc (size_t size)
 #undef aligned_alloc
 #undef free
 
+/* Declare system malloc and friends.  */
+extern void *malloc (size_t size);
+extern void *realloc (void *ptr, size_t size);
+extern void *calloc (size_t nmemb, size_t size);
+extern void free (void *ptr);
+#ifdef HAVE_ALIGNED_ALLOC
+extern void *aligned_alloc (size_t alignment, size_t size);
+#elif defined HAVE_POSIX_MEMALIGN
+extern int posix_memalign (void **memptr, size_t alignment, size_t size);
+#endif
+
 /* See the comments near the beginning of this file for explanations
    of the following functions. */