diff options
| author | Paul Eggert | 2014-05-21 22:00:39 -0700 |
|---|---|---|
| committer | Paul Eggert | 2014-05-21 22:00:39 -0700 |
| commit | 4f4ec76fd68d21c3d3838f5f10e242a884598c40 (patch) | |
| tree | 7f5bba96be2bf67382394307d71ea93242c9686c /src | |
| parent | fb4ca8417a1fc7a39d36162a80647063aadb0b41 (diff) | |
| download | emacs-4f4ec76fd68d21c3d3838f5f10e242a884598c40.tar.gz emacs-4f4ec76fd68d21c3d3838f5f10e242a884598c40.zip | |
Fix port to 32-bit AIX.
* configure.ac (opsys): On Power Architecture, treat release 7 of
AIX like releases 5 and 6.
* src/unexaix.c (copy_text_and_data): Don't add text_scnptr to ptr
twice. _text already includes this offset.
(unrelocate_symbols): Don't cast 64-bit integer to pointer.
Fixes: debbugs:17540
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/unexaix.c | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 1e6bdcb4999..256eeeaa4b3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2014-05-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Fix port to 32-bit AIX (Bug#17540). | ||
| 4 | * unexaix.c (copy_text_and_data): Don't add text_scnptr to ptr | ||
| 5 | twice. _text already includes this offset. | ||
| 6 | (unrelocate_symbols): Don't cast 64-bit integer to pointer. | ||
| 7 | |||
| 1 | 2014-05-21 Eli Zaretskii <eliz@gnu.org> | 8 | 2014-05-21 Eli Zaretskii <eliz@gnu.org> |
| 2 | 9 | ||
| 3 | * xdisp.c (move_it_in_display_line_to): Avoid infinite recursion: | 10 | * xdisp.c (move_it_in_display_line_to): Avoid infinite recursion: |
diff --git a/src/unexaix.c b/src/unexaix.c index c08d192b32c..c97d5cae2a8 100644 --- a/src/unexaix.c +++ b/src/unexaix.c | |||
| @@ -379,7 +379,7 @@ copy_text_and_data (int new) | |||
| 379 | char *ptr; | 379 | char *ptr; |
| 380 | 380 | ||
| 381 | lseek (new, text_scnptr, SEEK_SET); | 381 | lseek (new, text_scnptr, SEEK_SET); |
| 382 | ptr = _text + text_scnptr; | 382 | ptr = _text; |
| 383 | end = ptr + f_ohdr.tsize; | 383 | end = ptr + f_ohdr.tsize; |
| 384 | write_segment (new, ptr, end); | 384 | write_segment (new, ptr, end); |
| 385 | 385 | ||
| @@ -606,7 +606,7 @@ unrelocate_symbols (int new, int a_out, | |||
| 606 | PERROR (a_name); | 606 | PERROR (a_name); |
| 607 | } | 607 | } |
| 608 | 608 | ||
| 609 | p = (int *) (ldrel.l_vaddr + d_reloc); | 609 | p = (int *) (intptr_t) (ldrel.l_vaddr + d_reloc); |
| 610 | 610 | ||
| 611 | switch (ldrel.l_symndx) { | 611 | switch (ldrel.l_symndx) { |
| 612 | case SYMNDX_TEXT: | 612 | case SYMNDX_TEXT: |