Linux 2.6.16
[linux-2.6] / include / asm-powerpc / a.out.h
1 #ifndef _ASM_POWERPC_A_OUT_H
2 #define _ASM_POWERPC_A_OUT_H
3
4 struct exec
5 {
6         unsigned long a_info;   /* Use macros N_MAGIC, etc for access */
7         unsigned a_text;        /* length of text, in bytes */
8         unsigned a_data;        /* length of data, in bytes */
9         unsigned a_bss;         /* length of uninitialized data area for file, in bytes */
10         unsigned a_syms;        /* length of symbol table data in file, in bytes */
11         unsigned a_entry;       /* start address */
12         unsigned a_trsize;      /* length of relocation info for text, in bytes */
13         unsigned a_drsize;      /* length of relocation info for data, in bytes */
14 };
15
16 #define N_TRSIZE(a)     ((a).a_trsize)
17 #define N_DRSIZE(a)     ((a).a_drsize)
18 #define N_SYMSIZE(a)    ((a).a_syms)
19
20 #ifdef __KERNEL__
21 #ifdef __powerpc64__
22
23 #define STACK_TOP_USER64 TASK_SIZE_USER64
24 #define STACK_TOP_USER32 TASK_SIZE_USER32
25
26 #define STACK_TOP (test_thread_flag(TIF_32BIT) ? \
27                    STACK_TOP_USER32 : STACK_TOP_USER64)
28
29 #else /* __powerpc64__ */
30
31 #define STACK_TOP TASK_SIZE
32
33 #endif /* __powerpc64__ */
34 #endif /* __KERNEL__ */
35
36 #endif /* _ASM_POWERPC_A_OUT_H */