Mercurial > emacs
comparison src/unexaix.c @ 10139:f9b79337418b
(unrelocate_symbols): Add AIX4_1 conditionals and code.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 10 Dec 1994 07:49:12 +0000 |
parents | b27c4cad21fb |
children | ac7375e60931 |
comparison
equal
deleted
inserted
replaced
10138:2a0a17f1043e | 10139:f9b79337418b |
---|---|
832 | 832 |
833 if (ldrel->l_rsecnm == f_ohdr.o_sndata) | 833 if (ldrel->l_rsecnm == f_ohdr.o_sndata) |
834 { | 834 { |
835 int orig_int; | 835 int orig_int; |
836 | 836 |
837 #ifdef AIX4_1 | |
838 lseek (a_out, orig_data_scnptr + (ldrel->l_vaddr - d_start), 0); | |
839 #else | |
837 lseek (a_out, orig_data_scnptr + ldrel->l_vaddr, 0); | 840 lseek (a_out, orig_data_scnptr + ldrel->l_vaddr, 0); |
841 #endif | |
838 | 842 |
839 if (read (a_out, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int)) | 843 if (read (a_out, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int)) |
840 { | 844 { |
841 PERROR (a_name); | 845 PERROR (a_name); |
842 } | 846 } |
843 | 847 |
844 switch (ldrel->l_symndx) { | 848 switch (ldrel->l_symndx) { |
845 case SYMNDX_TEXT: | 849 case SYMNDX_TEXT: |
850 #ifdef AIX4_1 | |
851 p = (int *) (ldrel->l_vaddr); | |
852 orig_int = * p; | |
853 #else | |
846 p = (int *) (d_start + ldrel->l_vaddr); | 854 p = (int *) (d_start + ldrel->l_vaddr); |
847 orig_int = * p - (t_start - f_ohdr.text_start); | 855 orig_int = * p - (t_start - f_ohdr.text_start); |
856 #endif | |
848 break; | 857 break; |
849 | 858 |
850 case SYMNDX_DATA: | 859 case SYMNDX_DATA: |
851 case SYMNDX_BSS: | 860 case SYMNDX_BSS: |
861 #ifdef AIX4_1 | |
862 p = (int *) (ldrel->l_vaddr); | |
863 orig_int = * p; | |
864 #else | |
852 p = (int *) (d_start + ldrel->l_vaddr); | 865 p = (int *) (d_start + ldrel->l_vaddr); |
853 orig_int = * p - (d_start - f_ohdr.data_start); | 866 orig_int = * p - (d_start - f_ohdr.data_start); |
867 #endif | |
854 break; | 868 break; |
855 } | 869 } |
856 | 870 |
871 #ifdef AIX4_1 | |
872 lseek (new, data_scnptr + (ldrel->l_vaddr - d_start), 0); | |
873 #else | |
857 lseek (new, data_scnptr + ldrel->l_vaddr, 0); | 874 lseek (new, data_scnptr + ldrel->l_vaddr, 0); |
875 #endif | |
858 if (write (new, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int)) | 876 if (write (new, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int)) |
859 { | 877 { |
860 PERROR (new_name); | 878 PERROR (new_name); |
861 } | 879 } |
862 } | 880 } |