mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
![Peter Zijlstra](/assets/img/avatar_default.png)
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>
30 lines
883 B
C
30 lines
883 B
C
#ifndef __PARISC_A_OUT_H__
|
|
#define __PARISC_A_OUT_H__
|
|
|
|
struct exec
|
|
{
|
|
unsigned int 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__
|
|
|
|
/* XXX: STACK_TOP actually should be STACK_BOTTOM for parisc.
|
|
* prumpf */
|
|
|
|
#define STACK_TOP TASK_SIZE
|
|
#define STACK_TOP_MAX DEFAULT_TASK_SIZE
|
|
|
|
#endif
|
|
|
|
#endif /* __A_OUT_GNU_H__ */
|