diff src/s/aix4-2.h @ 65657:c6e45e9a83bf

* s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define BROKEN_GET_CURRENT_DIR_NAME. * sysdep.c (get_current_dir_name): Also define if BROKEN_GET_CURRENT_DIR_NAME. * m/ibmrs6000.h: Test for USG5, not USG5_4.
author Dan Nicolaescu <dann@ics.uci.edu>
date Fri, 23 Sep 2005 17:06:03 +0000
parents 695cf19ef79e
children 43a8bd744de4 ee12d75eb214
line wrap: on
line diff
--- a/src/s/aix4-2.h	Fri Sep 23 15:49:13 2005 +0000
+++ b/src/s/aix4-2.h	Fri Sep 23 17:06:03 2005 +0000
@@ -2,5 +2,23 @@
 
 #undef ALIGN_DATA_RELOC
 
+/* On AIX Emacs uses the gmalloc.c malloc implementation.  But given
+   the way this system works, libc functions that return malloced
+   memory use the libc malloc implementation. Calling xfree or
+   xrealloc on the results of such functions results in a crash. 
+
+   One solution for this could be to define SYSTEM_MALLOC here, but
+   that does not currently work on this system.
+
+   It is possible to completely override the malloc implementation on
+   AIX, but that involves putting the malloc functions in a shared
+   library and setting the MALLOCTYPE environment variable to point to
+   tha shared library.
+   
+   Emacs currently calls xrealloc on the results of get_current_dir name,
+   to avoid a crash just use the Emacs implementation for that function.
+*/
+#define BROKEN_GET_CURRENT_DIR_NAME 1
+
 /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
    (do not change this comment) */