mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
b111757c50
New arch macro STACK_TOP_MAX it gives the larges valid stack address for the architecture in question. It differs from STACK_TOP in that it will not distinguish between personalities but will always return the largest possible address. This is used to create the initial stack on execve, which we will move down to the proper location once the binfmt code has figured out where that is. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ollie Wild <aaw@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
/*
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
|
* License. See the file "COPYING" in the main directory of this archive
|
|
* for more details.
|
|
*
|
|
* Copyright (C) 1994 - 1999, 2003 by Ralf Baechle
|
|
*/
|
|
#ifndef _ASM_A_OUT_H
|
|
#define _ASM_A_OUT_H
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
|
|
#endif
|
|
|
|
struct exec
|
|
{
|
|
unsigned long a_info; /* Use macros N_MAGIC, etc for access */
|
|
unsigned a_text; /* length of text, in bytes */
|
|
unsigned a_data; /* length of data, in bytes */
|
|
unsigned a_bss; /* length of uninitialized data area for
|
|
file, in bytes */
|
|
unsigned a_syms; /* length of symbol table data in file,
|
|
in bytes */
|
|
unsigned a_entry; /* start address */
|
|
unsigned a_trsize; /* length of relocation info for text, in
|
|
bytes */
|
|
unsigned a_drsize; /* length of relocation info for data, in bytes */
|
|
};
|
|
|
|
#define N_TRSIZE(a) ((a).a_trsize)
|
|
#define N_DRSIZE(a) ((a).a_drsize)
|
|
#define N_SYMSIZE(a) ((a).a_syms)
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
#ifdef CONFIG_32BIT
|
|
#define STACK_TOP TASK_SIZE
|
|
#endif
|
|
#ifdef CONFIG_64BIT
|
|
#define STACK_TOP (current->thread.mflags & MF_32BIT_ADDR ? TASK_SIZE32 : TASK_SIZE)
|
|
#endif
|
|
#define STACK_TOP_MAX TASK_SIZE
|
|
|
|
#endif
|
|
|
|
#endif /* _ASM_A_OUT_H */
|