Mercurial > emacs
annotate src/s/aix4-2.h @ 79519:1039328362ed
*** empty log message ***
| author | Glenn Morris <rgm@gnu.org> |
|---|---|
| date | Sat, 01 Dec 2007 21:30:32 +0000 |
| parents | 43a8bd744de4 |
| children | f1d13e615070 ddedcecb18ef |
| rev | line source |
|---|---|
| 22824 | 1 #include "aix4-1.h" |
| 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 | 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 | 23 /* aix3-1.h defined _NO_PROTO, probably to work around an AIX compiler |
| 24 that did not handle prototypes. On (at least) AIX 5.2, this causes | |
| 25 the proper prototype to be thrown away for lseek64, so compiled | |
| 26 Lisp files do not load correctly and compilation fails. | |
| 27 | |
| 28 The AIX compiler should have learned about function prototypes long | |
| 29 ago, so we can probably go ahead and undefine _NO_PROTO. However, | |
| 30 if someone can demonstrate that this problem still exists for AIX | |
| 31 4, this should be moved into a new file (aix5.h). | |
| 32 */ | |
| 33 | |
| 34 #undef _NO_PROTO | |
| 35 | |
| 36 | |
| 52401 | 37 /* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 |
| 38 (do not change this comment) */ |
