Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.17-rc3 47 lines 1.2 kB view raw
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 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 38#ifdef CONFIG_32BIT 39#define STACK_TOP TASK_SIZE 40#endif 41#ifdef CONFIG_64BIT 42#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 */