00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #define TEXT_START_ADDR 4096
00024 #define TARGET_PAGE_SIZE 4096
00025 #define SEGMENT_SIZE TARGET_PAGE_SIZE
00026
00027 #include "aout/dynix3.h"
00028
00029 #define DEFAULT_ARCH bfd_arch_i386
00030 #define MACHTYPE_OK(mtype) ((mtype) == M_386 || (mtype) == M_UNKNOWN)
00031
00032
00033
00034
00035 #define MY(OP) CONCAT2 (i386dynix_,OP)
00036 #define TARGETNAME "a.out-i386-dynix"
00037 #define NAME(x,y) CONCAT3 (i386dynix,_32_,y)
00038 #define ARCH_SIZE 32
00039 #define NAME_swap_exec_header_in NAME(i386dynix_32_,swap_exec_header_in)
00040 #define MY_get_section_contents aout_32_get_section_contents
00041
00042
00043 #define NMAGIC 0
00044 #define BMAGIC OMAGIC
00045 #define QMAGIC XMAGIC
00046
00047 #include "aoutx.h"
00048
00049
00050
00051
00052 #define a_shdata a_tload
00053 #define a_shdrsize a_dload
00054
00055 void
00056 i386dynix_32_swap_exec_header_in (abfd, raw_bytes, execp)
00057 bfd *abfd;
00058 struct external_exec *raw_bytes;
00059 struct internal_exec *execp;
00060 {
00061 struct external_exec *bytes = (struct external_exec *)raw_bytes;
00062
00063
00064
00065
00066
00067 memset ((PTR) execp, 0, sizeof (struct internal_exec));
00068
00069 execp->a_info = H_GET_32 (abfd, bytes->e_info);
00070 execp->a_text = GET_WORD (abfd, bytes->e_text);
00071 execp->a_data = GET_WORD (abfd, bytes->e_data);
00072 execp->a_bss = GET_WORD (abfd, bytes->e_bss);
00073 execp->a_syms = GET_WORD (abfd, bytes->e_syms);
00074 execp->a_entry = GET_WORD (abfd, bytes->e_entry);
00075 execp->a_trsize = GET_WORD (abfd, bytes->e_trsize);
00076 execp->a_drsize = GET_WORD (abfd, bytes->e_drsize);
00077 execp->a_shdata = GET_WORD (abfd, bytes->e_shdata);
00078 execp->a_shdrsize = GET_WORD (abfd, bytes->e_shdrsize);
00079 }
00080
00081 #include "aout-target.h"