Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / include / asm-mips / a.out.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 1994 - 1999, 2003 by Ralf Baechle
7  */
8 #ifndef _ASM_A_OUT_H
9 #define _ASM_A_OUT_H
10
11 #ifdef __KERNEL__
12
13 #include <linux/config.h>
14
15 #endif
16
17 struct exec
18 {
19         unsigned long a_info;   /* Use macros N_MAGIC, etc for access */
20         unsigned a_text;        /* length of text, in bytes */
21         unsigned a_data;        /* length of data, in bytes */
22         unsigned a_bss;         /* length of uninitialized data area for
23                                     file, in bytes */
24         unsigned a_syms;        /* length of symbol table data in file,
25                                    in bytes */
26         unsigned a_entry;       /* start address */
27         unsigned a_trsize;      /* length of relocation info for text, in
28                                     bytes */
29         unsigned a_drsize;      /* length of relocation info for data, in bytes */
30 };
31
32 #define N_TRSIZE(a)     ((a).a_trsize)
33 #define N_DRSIZE(a)     ((a).a_drsize)
34 #define N_SYMSIZE(a)    ((a).a_syms)
35
36 #ifdef __KERNEL__
37
38 #ifdef CONFIG_MIPS32
39 #define STACK_TOP       TASK_SIZE
40 #endif
41 #ifdef CONFIG_MIPS64
42 #define STACK_TOP       (current->thread.mflags & MF_32BIT_ADDR ? TASK_SIZE32 : TASK_SIZE)
43 #endif
44
45 #endif
46
47 #endif /* _ASM_A_OUT_H */