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
14#endif
15
16struct exec
17{
18	unsigned long a_info;	/* Use macros N_MAGIC, etc for access */
19	unsigned a_text;	/* length of text, in bytes */
20	unsigned a_data;	/* length of data, in bytes */
21	unsigned a_bss;		/* length of uninitialized data area for
22				    file, in bytes */
23	unsigned a_syms;	/* length of symbol table data in file,
24				   in bytes */
25	unsigned a_entry;	/* start address */
26	unsigned a_trsize;	/* length of relocation info for text, in
27				    bytes */
28	unsigned a_drsize;	/* length of relocation info for data, in bytes */
29};
30
31#define N_TRSIZE(a)	((a).a_trsize)
32#define N_DRSIZE(a)	((a).a_drsize)
33#define N_SYMSIZE(a)	((a).a_syms)
34
35#ifdef __KERNEL__
36
37#ifdef CONFIG_32BIT
38#define STACK_TOP	TASK_SIZE
39#endif
40#ifdef CONFIG_64BIT
41#define STACK_TOP	(current->thread.mflags & MF_32BIT_ADDR ? TASK_SIZE32 : TASK_SIZE)
42#endif
43
44#endif
45
46#endif /* _ASM_A_OUT_H */
47