]> code.delx.au - gnu-emacs/blobdiff - src/unexaix.c
(Fy_or_n_p, Fyes_or_no_p): using_x_p renamed to have_menus_p.
[gnu-emacs] / src / unexaix.c
index 960c730f0f2116653eb266782533a481c36521b8..a4dba057589e6b5f831a9193988ce83708ad33fb 100644 (file)
@@ -4,7 +4,7 @@
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 1, or (at your option)
+    the Free Software Foundation; either version 2, or (at your option)
     any later version.
 
     This program is distributed in the hope that it will be useful,
@@ -834,7 +834,11 @@ unrelocate_symbols (new, a_out, a_name, new_name)
        {
          int orig_int;
 
+#ifdef AIX4_1
+         lseek (a_out, orig_data_scnptr + (ldrel->l_vaddr - d_start), 0);
+#else
          lseek (a_out, orig_data_scnptr + ldrel->l_vaddr, 0);
+#endif
 
          if (read (a_out, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int))
            {
@@ -843,18 +847,32 @@ unrelocate_symbols (new, a_out, a_name, new_name)
 
          switch (ldrel->l_symndx) {
          case SYMNDX_TEXT:
+#ifdef AIX4_1
+           p = (int *) (ldrel->l_vaddr);
+           orig_int = * p;
+#else
            p = (int *) (d_start + ldrel->l_vaddr);
            orig_int = * p - (t_start - f_ohdr.text_start);
+#endif
            break;
 
          case SYMNDX_DATA:
          case SYMNDX_BSS:
+#ifdef AIX4_1
+           p = (int *) (ldrel->l_vaddr);
+           orig_int = * p;
+#else
            p = (int *) (d_start + ldrel->l_vaddr);
            orig_int = * p - (d_start - f_ohdr.data_start);
+#endif
            break;
          }
 
+#ifdef AIX4_1
+         lseek (new, data_scnptr + (ldrel->l_vaddr - d_start), 0);
+#else
          lseek (new, data_scnptr + ldrel->l_vaddr, 0);
+#endif
          if (write (new, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int))
            {
              PERROR (new_name);