+2005-09-23 Dan Nicolaescu <dann@ics.uci.edu>
+
+ * 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.
+
2005-09-22 Kim F. Storm <storm@cua.dk>
* xdisp.c (message_dolog): Add warning about GC and Lisp strings.
#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) */
SIGMASKTYPE sigprocmask_set;
-#ifndef HAVE_GET_CURRENT_DIR_NAME
+#if !defined (HAVE_GET_CURRENT_DIR_NAME) || defined (BROKEN_GET_CURRENT_DIR_NAME)
/* Return the current working directory. Returns NULL on errors.
Any other returned value must be freed with free. This is used