aout_machdep.h revision 12
1/* $Id$ */
2
3#ifndef __AOUT_MACHDEP_H__
4#define __AOUT_MACHDEP_H__
5
6///
7/// Funky Alpha 64-bit a.out header used for PAL code.
8///
9struct aout_exechdr {
10    uint16_t	magic;
11    uint16_t	vstamp;
12    uint16_t	bldrev;
13    uint16_t	padcell;
14    uint64_t	tsize;		// text segment size
15    uint64_t	dsize;		// data segment size
16    uint64_t	bsize;		// bss segment size
17    uint64_t	entry;		// entry point
18    uint64_t	text_start;	// text base address
19    uint64_t	data_start;	// data base address
20    uint64_t	bss_start;	// bss base address
21    uint32_t	gprmask;
22    uint32_t	fprmask;
23    uint64_t	gp_value;
24};
25
26#define AOUT_LDPGSZ	8192
27
28#define N_GETMAGIC(ex)	((ex).magic)
29
30#define N_BADMAX
31
32#define N_TXTADDR(ex)	((ex).text_start)
33#define N_DATADDR(ex)	((ex).data_start)
34#define N_BSSADDR(ex)	((ex).bss_start)
35
36#define N_TXTOFF(ex)	\
37        (N_GETMAGIC(ex) == ZMAGIC ? 0 : sizeof(struct aout_exechdr))
38
39#define N_DATOFF(ex)	N_ALIGN(ex, N_TXTOFF(ex) + (ex).tsize)
40
41#endif /* !__AOUT_MACHDEP_H__*/
42