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 }