root/include/asm-alpha/a.out.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef __ALPHA_A_OUT_H__
   2 #define __ALPHA_A_OUT_H__
   3 
   4 #include <linux/types.h>
   5 
   6 /*
   7  * OSF/1 ECOFF header structs.  ECOFF files consist of:
   8  *      - a file header (struct filehdr),
   9  *      - an a.out header (struct aouthdr),
  10  *      - one or more section headers (struct scnhdr). 
  11  *        The filhdr's "f_nscns" field contains the
  12  *        number of section headers.
  13  */
  14 
  15 struct filehdr
  16 {
  17         /* OSF/1 "file" header */
  18         __u16 f_magic, f_nscns;
  19         __u32 f_timdat;
  20         __u64 f_symptr;
  21         __u32 f_nsyms;
  22         __u16 f_opthdr, f_flags;
  23 };
  24 
  25 struct aouthdr
  26 {
  27         __u64 info;             /* after that it looks quite normal.. */
  28         __u64 tsize;
  29         __u64 dsize;
  30         __u64 bsize;
  31         __u64 entry;
  32         __u64 text_start;       /* with a few additions that actually make sense */
  33         __u64 data_start;
  34         __u64 bss_start;
  35         __u32 gprmask, fprmask; /* bitmask of general & floating point regs used in binary */
  36         __u64 gpvalue;
  37 };
  38 
  39 struct scnhdr
  40 {
  41         char    s_name[8];
  42         __u64   s_paddr;
  43         __u64   s_vaddr;
  44         __u64   s_size;
  45         __u64   s_scnptr;
  46         __u64   s_relptr;
  47         __u64   s_lnnoptr;
  48         __u16   s_nreloc;
  49         __u16   s_nlnno;
  50         __u32   s_flags;
  51 };
  52 
  53 struct exec
  54 {
  55         /* OSF/1 "file" header */
  56         struct filehdr          fh;
  57         struct aouthdr          ah;
  58 };
  59 
  60 /*
  61  * Define's so that the kernel exec code can access the a.out header
  62  * fields...
  63  */
  64 #define a_info          ah.info
  65 #define a_text          ah.tsize
  66 #define a_data          ah.dsize
  67 #define a_bss           ah.bsize
  68 #define a_entry         ah.entry
  69 #define a_textstart     ah.text_start
  70 #define a_datastart     ah.data_start
  71 #define a_bssstart      ah.bss_start
  72 #define a_gprmask       ah.gprmask
  73 #define a_fprmask       ah.fprmask
  74 #define a_gpvalue       ah.gpvalue
  75 
  76 #define N_TXTADDR(x) ((x).a_textstart)
  77 #define N_DATADDR(x) ((x).a_datastart)
  78 #define N_BSSADDR(x) ((x).a_bssstart)
  79 #define N_DRSIZE(x) 0
  80 #define N_TRSIZE(x) 0
  81 #define N_SYMSIZE(x) 0
  82 
  83 #define AOUTHSZ         sizeof(struct aouthdr)
  84 #define SCNHSZ          sizeof(struct scnhdr)
  85 #define SCNROUND        16
  86 
  87 #define N_TXTOFF(x) \
  88   ((long) N_MAGIC(x) == ZMAGIC ? 0 : \
  89    (sizeof(struct exec) + (x).fh.f_nscns*SCNHSZ + SCNROUND - 1) & ~(SCNROUND - 1))
  90 
  91 #ifdef __KERNEL__
  92 
  93 #define STACK_TOP (0x00120000000UL)
  94 
  95 #endif
  96 
  97 #endif /* __A_OUT_GNU_H__ */

/* [previous][next][first][last][top][bottom][index][help] */