]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix port to 32-bit AIX.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 22 May 2014 05:00:39 +0000 (22:00 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 22 May 2014 05:00:39 +0000 (22:00 -0700)
* 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
ChangeLog
configure.ac
src/ChangeLog
src/unexaix.c

index 484c696cfcbd51bc9c5e3df50e8dffd409ec61a8..3789203527ca160d351bf87e0c24a7ea3c2e5222 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix port to 32-bit AIX (Bug#17540).
+       * configure.ac (opsys): On Power Architecture, treat release 7 of
+       AIX like releases 5 and 6.
+
 2014-05-18  Glenn Morris  <rgm@gnu.org>
 
        * configure.ac (INSTALL_INFO):
index a29c786d63b99586723ad0038facc5efc2692d64..0f4351fcd5d27c2fd2eed168be2fa382bf318438 100644 (file)
@@ -550,7 +550,7 @@ case "${canonical}" in
   rs6000-ibm-aix[56]* )
     opsys=aix4-2
   ;;
-  powerpc-ibm-aix[56]*  )
+  powerpc-ibm-aix[5-9]* | powerpc-ibm-aix[1-9][0-9]* )
     opsys=aix4-2
   ;;
 
index 1e6bdcb4999eba735bd959bec189af529e860b63..256eeeaa4b3b6d1932f4c3423fbeb811fb9caf71 100644 (file)
@@ -1,3 +1,10 @@
+2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix port to 32-bit AIX (Bug#17540).
+       * 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.
+
 2014-05-21  Eli Zaretskii  <eliz@gnu.org>
 
        * xdisp.c (move_it_in_display_line_to): Avoid infinite recursion:
index c08d192b32cef5bf9e8ceaabff3c2bedd9eaae1f..c97d5cae2a8b3d3cac8288f03fff86219e2fcf44 100644 (file)
@@ -379,7 +379,7 @@ copy_text_and_data (int new)
   char *ptr;
 
   lseek (new, text_scnptr, SEEK_SET);
-  ptr = _text + text_scnptr;
+  ptr = _text;
   end = ptr + f_ohdr.tsize;
   write_segment (new, ptr, end);
 
@@ -606,7 +606,7 @@ unrelocate_symbols (int new, int a_out,
              PERROR (a_name);
            }
 
-          p = (int *) (ldrel.l_vaddr + d_reloc);
+          p = (int *) (intptr_t) (ldrel.l_vaddr + d_reloc);
 
          switch (ldrel.l_symndx) {
          case SYMNDX_TEXT: