a.out.h 1.2 KB

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