aout_machdep.h revision 12
15081Sgblack@eecs.umich.edu/* $Id$ */
25081Sgblack@eecs.umich.edu
35081Sgblack@eecs.umich.edu#ifndef __AOUT_MACHDEP_H__
45081Sgblack@eecs.umich.edu#define __AOUT_MACHDEP_H__
55081Sgblack@eecs.umich.edu
65081Sgblack@eecs.umich.edu///
75081Sgblack@eecs.umich.edu/// Funky Alpha 64-bit a.out header used for PAL code.
85081Sgblack@eecs.umich.edu///
95081Sgblack@eecs.umich.edustruct aout_exechdr {
105081Sgblack@eecs.umich.edu    uint16_t	magic;
115081Sgblack@eecs.umich.edu    uint16_t	vstamp;
125081Sgblack@eecs.umich.edu    uint16_t	bldrev;
135081Sgblack@eecs.umich.edu    uint16_t	padcell;
145081Sgblack@eecs.umich.edu    uint64_t	tsize;		// text segment size
155081Sgblack@eecs.umich.edu    uint64_t	dsize;		// data segment size
165081Sgblack@eecs.umich.edu    uint64_t	bsize;		// bss segment size
175081Sgblack@eecs.umich.edu    uint64_t	entry;		// entry point
185081Sgblack@eecs.umich.edu    uint64_t	text_start;	// text base address
195081Sgblack@eecs.umich.edu    uint64_t	data_start;	// data base address
205081Sgblack@eecs.umich.edu    uint64_t	bss_start;	// bss base address
215081Sgblack@eecs.umich.edu    uint32_t	gprmask;
225081Sgblack@eecs.umich.edu    uint32_t	fprmask;
235081Sgblack@eecs.umich.edu    uint64_t	gp_value;
245081Sgblack@eecs.umich.edu};
255081Sgblack@eecs.umich.edu
265081Sgblack@eecs.umich.edu#define AOUT_LDPGSZ	8192
275081Sgblack@eecs.umich.edu
285081Sgblack@eecs.umich.edu#define N_GETMAGIC(ex)	((ex).magic)
295081Sgblack@eecs.umich.edu
305081Sgblack@eecs.umich.edu#define N_BADMAX
315081Sgblack@eecs.umich.edu
325081Sgblack@eecs.umich.edu#define N_TXTADDR(ex)	((ex).text_start)
335081Sgblack@eecs.umich.edu#define N_DATADDR(ex)	((ex).data_start)
345081Sgblack@eecs.umich.edu#define N_BSSADDR(ex)	((ex).bss_start)
355081Sgblack@eecs.umich.edu
365081Sgblack@eecs.umich.edu#define N_TXTOFF(ex)	\
375081Sgblack@eecs.umich.edu        (N_GETMAGIC(ex) == ZMAGIC ? 0 : sizeof(struct aout_exechdr))
385081Sgblack@eecs.umich.edu
395081Sgblack@eecs.umich.edu#define N_DATOFF(ex)	N_ALIGN(ex, N_TXTOFF(ex) + (ex).tsize)
405081Sgblack@eecs.umich.edu
415081Sgblack@eecs.umich.edu#endif /* !__AOUT_MACHDEP_H__*/
425081Sgblack@eecs.umich.edu