mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 17:12:06 +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>
33 lines
1009 B
C
33 lines
1009 B
C
#ifndef __CRIS_A_OUT_H__
|
|
#define __CRIS_A_OUT_H__
|
|
|
|
/* we don't support a.out binaries on Linux/CRIS anyway, so this is
|
|
* not really used but still needed because binfmt_elf.c for some reason
|
|
* wants to know about a.out even if there is no interpreter available...
|
|
*/
|
|
|
|
/* grabbed from the intel stuff */
|
|
#define STACK_TOP TASK_SIZE
|
|
#define STACK_TOP_MAX STACK_TOP
|
|
|
|
|
|
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)
|
|
|
|
|
|
#endif
|