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 | |
| 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
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/unexaix.c | 4 |
4 files changed, 16 insertions, 3 deletions
| @@ -1,3 +1,9 @@ | |||
| 1 | 2014-05-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Fix port to 32-bit AIX (Bug#17540). | ||
| 4 | * configure.ac (opsys): On Power Architecture, treat release 7 of | ||
| 5 | AIX like releases 5 and 6. | ||
| 6 | |||
| 1 | 2014-05-18 Glenn Morris <rgm@gnu.org> | 7 | 2014-05-18 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * configure.ac (INSTALL_INFO): | 9 | * configure.ac (INSTALL_INFO): |
diff --git a/configure.ac b/configure.ac index a29c786d63b..0f4351fcd5d 100644 --- a/configure.ac +++ b/configure.ac | |||
| @@ -550,7 +550,7 @@ case "${canonical}" in | |||
| 550 | rs6000-ibm-aix[56]* ) | 550 | rs6000-ibm-aix[56]* ) |
| 551 | opsys=aix4-2 | 551 | opsys=aix4-2 |
| 552 | ;; | 552 | ;; |
| 553 | powerpc-ibm-aix[56]* ) | 553 | powerpc-ibm-aix[5-9]* | powerpc-ibm-aix[1-9][0-9]* ) |
| 554 | opsys=aix4-2 | 554 | opsys=aix4-2 |
| 555 | ;; | 555 | ;; |
| 556 | 556 | ||
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: |