view src/s/aix4-2.h @ 77457:b08a2a8ebaac

Alfred M. Szmidt, April 23: Build succeeds on OpenBSD 3.9.
author Chong Yidong <cyd@stupidchicken.com>
date Mon, 23 Apr 2007 19:43:52 +0000
parents 43a8bd744de4
children f1d13e615070 ddedcecb18ef
line wrap: on
line source

#include "aix4-1.h"

#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

/* aix3-1.h defined _NO_PROTO, probably to work around an AIX compiler
   that did not handle prototypes.  On (at least) AIX 5.2, this causes
   the proper prototype to be thrown away for lseek64, so compiled
   Lisp files do not load correctly and compilation fails.

   The AIX compiler should have learned about function prototypes long
   ago, so we can probably go ahead and undefine _NO_PROTO.  However,
   if someone can demonstrate that this problem still exists for AIX
   4, this should be moved into a new file (aix5.h).
*/

#undef _NO_PROTO


/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
   (do not change this comment) */