blob: 2b3dc3bed4dac632a85114034722d00f9aa51d3b [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
13#include <linux/config.h>
14
15#endif
16
17struct 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
Ralf Baechle875d43e2005-09-03 15:56:16 -070038#ifdef CONFIG_32BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070039#define STACK_TOP TASK_SIZE
40#endif
Ralf Baechle875d43e2005-09-03 15:56:16 -070041#ifdef CONFIG_64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -070042#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 */