1 #ifndef __ARM_A_OUT_H__ 2 #define __ARM_A_OUT_H__ 3 4 #include <linux/personality.h> 5 #include <asm/types.h> 6 7 struct exec 8 { 9 __u32 a_info; /* Use macros N_MAGIC, etc for access */ 10 __u32 a_text; /* length of text, in bytes */ 11 __u32 a_data; /* length of data, in bytes */ 12 __u32 a_bss; /* length of uninitialized data area for file, in bytes */ 13 __u32 a_syms; /* length of symbol table data in file, in bytes */ 14 __u32 a_entry; /* start address */ 15 __u32 a_trsize; /* length of relocation info for text, in bytes */ 16 __u32 a_drsize; /* length of relocation info for data, in bytes */ 17 }; 18 19 /* 20 * This is always the same 21 */ 22 #define N_TXTADDR(a) (0x00008000) 23 24 #define N_TRSIZE(a) ((a).a_trsize) 25 #define N_DRSIZE(a) ((a).a_drsize) 26 #define N_SYMSIZE(a) ((a).a_syms) 27 28 #define M_ARM 103 29 30 #ifdef __KERNEL__ 31 #define STACK_TOP ((current->personality == PER_LINUX_32BIT) ? \ 32 TASK_SIZE : TASK_SIZE_26) 33 #endif 34 35 #ifndef LIBRARY_START_TEXT 36 #define LIBRARY_START_TEXT (0x00c00000) 37 #endif 38 39 #endif /* __A_OUT_GNU_H__ */ 40