diff options
| author | Paul Eggert | 2013-02-12 10:43:11 -0800 |
|---|---|---|
| committer | Paul Eggert | 2013-02-12 10:43:11 -0800 |
| commit | f53f992ad53e62a8452884f9322250894ddbb505 (patch) | |
| tree | 2f9acf504b252629809a67f436166a84355a72fc /src/ChangeLog | |
| parent | 4458c2551b1a0bd89e5c299b009516e17f255c28 (diff) | |
| download | emacs-f53f992ad53e62a8452884f9322250894ddbb505.tar.gz emacs-f53f992ad53e62a8452884f9322250894ddbb505.zip | |
Improve AIX port some more.
With this, it should be as good as it was in 23.3, though it's
still pretty bad: the dumped emacs does not run. See Mark Fleishman in
http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html
* unexaix.c (start_of_text): Remove.
(_data, _text): Declare as char[], not int, as AIX manual suggests.
(bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr)
(orig_load_scnptr, orig_data_scnptr):
Now off_t, not long, since they are file offsets.
(make_hdr): Use _data, not start_of_data ().
This is the key part of the fix.
(make_hdr, unrelocate_symbols): Use off_t for file offsets.
(unrelocate_symbols): Cast pointers to intptr_t, not to ulong.
Fixes: debbugs:13650
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 95e58e2d92c..d798c933b6d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,19 @@ | |||
| 1 | 2013-02-12 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2013-02-12 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Improve AIX port some more (Bug#13650). | ||
| 4 | With this, it should be as good as it was in 23.3, though it's | ||
| 5 | still pretty bad: the dumped emacs does not run. See Mark Fleishman in | ||
| 6 | http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html | ||
| 7 | * unexaix.c (start_of_text): Remove. | ||
| 8 | (_data, _text): Declare as char[], not int, as AIX manual suggests. | ||
| 9 | (bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr) | ||
| 10 | (orig_load_scnptr, orig_data_scnptr): | ||
| 11 | Now off_t, not long, since they are file offsets. | ||
| 12 | (make_hdr): Use _data, not start_of_data (). | ||
| 13 | This is the key part of the fix. | ||
| 14 | (make_hdr, unrelocate_symbols): Use off_t for file offsets. | ||
| 15 | (unrelocate_symbols): Cast pointers to intptr_t, not to ulong. | ||
| 16 | |||
| 3 | * pre-crt0.c (data_start): Initialize to 1. | 17 | * pre-crt0.c (data_start): Initialize to 1. |
| 4 | This ports to compilers that optimize the external declaration | 18 | This ports to compilers that optimize the external declaration |
| 5 | 'int x = 0;' as if it were 'int x;' to shrink the executable. | 19 | 'int x = 0;' as if it were 'int x;' to shrink the executable. |