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