Unix Man ( )

         

A.OUT(5)


A.OUT(5)
XENIX System V (1 ap 1989)


a.out - opa aa, oyaeoo peyae pao popa accepoa peaopa ce.


A.out ec peypy ao oce aepe pao popa acceepa masm peaopa ce ld. Ec poecce pao ao x popa e oapye o eopeeee oae epeee, ye coa a fa.out.

opa aa a.out, aae ae x.out ceepoa x.out, opeeec aa /usr/include/a.out.h /usr/include/sys/relsym.h. a a.out ee ceye ocoe ac:

  1. aooo
  2. ooe aooo
  3. Taa ceea aa ( ceepoax opao)
  4. Cee (Tec, ae, co ce acpo)

B ceepoao opae oy cyecoa ecoo ceeo eco ax, acoc o oe a popa. Cee ae aac c apeca, paoo paepy cpa aa (512 a).

OPA


/* *Ocoo ooe aooo cpyyp. * ceepoaoo opaa x.out (XE_SEG): * 1)o, appoae (s) o * coepa cyy cex xs_psize, ec opa axoc a ce * xs_vsize opaa a. * 2)coepoe oace, appoax * (u) eopeeeo. */

struct xexec{ /*aooo x.out*/ unsigned short x_magic; /*aecoe co*/ unsigned short x_ext; /*paep ooeoo aooa*/ long X-Text; /*paep ceea eca (s)*/ long x_data; /*paep apoax ax (s)*/ long x_bss; /*paep eapoax ax (s)*/ long syms; /*paep a coo (s)*/ long x_reloc; /*a a epeee (s)*/ long x_entry; /*ao aca oa xoa*/ char x_cpu; /* poeccopa opo a/coo*/ char x_relsym; /*op epeee coo (u)*/ unsigned short x_renv; /* cpea oe*/ };

struct xext { /* ooe aooo x.out */ long xe_trsize; /* paep a epeee eca (s) */ long xe_drsize; /* paep a epeee ax (s) */ long xe_tbase; /* aa epeeaeoo eca(u) */ long xe_dbase; /* aa epeeaex ax(u) */ long xe_stksize; /* paep cea (ec XE_FS ycaoe) */


/* ceye aee ee o pecae ec XE_SEG ycaoe */

long xe_segpos; /* ooee a ceeo */ long xe_segsize; /* paep a ceeo */ long xe_mdtpos; /* ao acoe ooee */ long xe_mdtsize; /* ao ac paep a */ char xe_mdttype; /* ao ac a */ char xe_pagesize; /* paep cpa aa, paoe 512 */ char xe_ostype; /* oepaoo cce */ char xe_osvers; /* epc oepaoo cce */ unsigned short xe_eseg; /*cee xoa, ac o aapayp */ unsigned short xe_sres; /* peeppoa */ };

struct xseg { /* aa ceeo x.out */ unsigned short xs_type; /* ceea */ unsigned short xs_attr; /*apy ceea */ unsigned short xs_seg; /*oep ceea */ char xs_align; /* oap o ocoa 2 o paa */ char xs_cres; /* ecoyec*/ long xs_filpos; /* ooee aa */ long xs_psize; /* ec paep ( ae) */ long xs_vsize; /* pya paep (in core) */ long xs_rbase; /* apec/ceee a epeee */ unsigned short xs_noff; /* ceee o e cea ae ceeo ceea */ unsigned short xs_sres; /* ecoyec*/ long xs_lres; /* ecoyec */ };

struct xiter { /* ac oope x.out */ long xi_size; /* source byte count */ long xi_rep; /* replication count */ long xi_offset; /* destination offset in segment */ };

struct xlist { /* xlist cpyypa . */ unsigned short xl_type; /* coa */ unsigned short xl_seg; /* ec a ceea aa */ long xl_value; /* ea coa */ char *xl_name; /* yaae a , opaeoe ye */ };

struct aexec { /* aooo a.out */ unsigned short xa_magic; /* aecoe co */ unsigned short xa_text; /* paep ceea eca*/ unsigned short xa_data; /* paep apoax ax */ unsigned short xa_bss; /* paep eapoax ax */ unsigned short xa_syms; /* paep a coo */ unsigned short xa_entry; /* oa xoa */ unsigned short xa_unused; /* e coyec */ unsigned short xa_flag; /* a ocyc a e */ };

struct nlist { /* nlist cpyypa . */ char n_name[8]; /* coa */ int n_type; /* a a*/ unsigned n_value; /* ea */ };

struct bexec { /* aooo b.out */ long xb_magic; /* aecoe co */ long xb_text; /* paep ceea eca*/ long xb_data; /* paep ceea ax*/ long xb_bss; /* paep eapoax ax */ long xb_syms; /* paep a coo*/ long xb_trsize; /* paep a epeee eca*/ long xb_drsize; /* paep a epeee ax*/ long xb_entry; /* oa xoa*/ };

.



, , , , xlist(1).