blob: ef33c3f1348446ceb3ca5bb41b2ac81977fdf4ae [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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
Linus Torvalds1da177e2005-04-16 15:20:36 -070013
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
Ralf Baechle875d43e2005-09-03 15:56:16 -070037#ifdef CONFIG_32BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070038#define STACK_TOP TASK_SIZE
39#endif
Ralf Baechle875d43e2005-09-03 15:56:16 -070040#ifdef CONFIG_64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070041#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 */