annotate src/s/aix4-2.h @ 95887:c86b69eedb4f

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Fri, 13 Jun 2008 12:29:21 +0000
parents 43a8bd744de4
children f1d13e615070 ddedcecb18ef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22824
a8482d4262a4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 #include "aix4-1.h"
a8482d4262a4 Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2
25567
c6181e97cf15 1998-05-17 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
Dave Love <fx@gnu.org>
parents: 22824
diff changeset
3 #undef ALIGN_DATA_RELOC
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
4
65657
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
5 /* On AIX Emacs uses the gmalloc.c malloc implementation. But given
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
6 the way this system works, libc functions that return malloced
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
7 memory use the libc malloc implementation. Calling xfree or
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
8 xrealloc on the results of such functions results in a crash.
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
9
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
10 One solution for this could be to define SYSTEM_MALLOC here, but
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
11 that does not currently work on this system.
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
12
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
13 It is possible to completely override the malloc implementation on
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
14 AIX, but that involves putting the malloc functions in a shared
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
15 library and setting the MALLOCTYPE environment variable to point to
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
16 tha shared library.
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
17
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
18 Emacs currently calls xrealloc on the results of get_current_dir name,
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
19 to avoid a crash just use the Emacs implementation for that function.
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
20 */
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
21 #define BROKEN_GET_CURRENT_DIR_NAME 1
c6e45e9a83bf * s/aix4-2.h (BROKEN_GET_CURRENT_DIR_NAME): Define
Dan Nicolaescu <dann@ics.uci.edu>
parents: 52401
diff changeset
22
74271
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
23 /* aix3-1.h defined _NO_PROTO, probably to work around an AIX compiler
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
24 that did not handle prototypes. On (at least) AIX 5.2, this causes
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
25 the proper prototype to be thrown away for lseek64, so compiled
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
26 Lisp files do not load correctly and compilation fails.
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
27
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
28 The AIX compiler should have learned about function prototypes long
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
29 ago, so we can probably go ahead and undefine _NO_PROTO. However,
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
30 if someone can demonstrate that this problem still exists for AIX
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
31 4, this should be moved into a new file (aix5.h).
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
32 */
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
33
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
34 #undef _NO_PROTO
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
35
43a8bd744de4 Undefine _NO_PROTO.
Chong Yidong <cyd@stupidchicken.com>
parents: 65657
diff changeset
36
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
37 /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
38 (do not change this comment) */