From: David Howells Move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're required whether or not A.OUT format is available. Signed-off-by: David Howells Cc: Signed-off-by: Andrew Morton --- include/asm-alpha/a.out.h | 8 +------- include/asm-alpha/processor.h | 5 +++++ include/asm-arm/a.out.h | 6 ------ include/asm-arm/processor.h | 6 ++++++ include/asm-avr32/a.out.h | 7 ------- include/asm-avr32/processor.h | 5 +++++ include/asm-blackfin/a.out.h | 6 ------ include/asm-blackfin/processor.h | 4 ++++ include/asm-cris/a.out.h | 6 ------ include/asm-cris/processor.h | 3 +++ include/asm-h8300/a.out.h | 7 ------- include/asm-h8300/processor.h | 5 +++++ include/asm-ia64/a.out.h | 3 --- include/asm-m32r/a.out.h | 7 ------- include/asm-m32r/processor.h | 5 +++++ include/asm-m68k/a.out.h | 7 ------- include/asm-m68k/processor.h | 5 +++++ include/asm-mips/a.out.h | 13 ------------- include/asm-mips/processor.h | 7 +++++++ include/asm-parisc/a.out.h | 10 ---------- include/asm-parisc/processor.h | 10 ++++++++++ include/asm-powerpc/a.out.h | 19 ------------------- include/asm-powerpc/processor.h | 19 +++++++++++++++++++ include/asm-s390/a.out.h | 7 ------- include/asm-s390/processor.h | 7 +++++++ include/asm-sh/a.out.h | 7 ------- include/asm-sh/processor_32.h | 3 +++ include/asm-sh/processor_64.h | 3 +++ include/asm-sparc/a.out.h | 9 --------- include/asm-sparc/processor.h | 4 ++++ include/asm-sparc64/a.out.h | 12 ------------ include/asm-sparc64/processor.h | 12 ++++++++++++ include/asm-sparc64/user.h | 2 +- include/asm-um/a.out.h | 11 ----------- include/asm-um/processor-generic.h | 9 +++++++++ include/asm-x86/a.out.h | 10 ---------- include/asm-x86/processor_32.h | 2 ++ include/asm-x86/processor_64.h | 3 ++- include/asm-xtensa/a.out.h | 5 ----- include/asm-xtensa/processor.h | 2 ++ 40 files changed, 120 insertions(+), 161 deletions(-) diff -puN include/asm-alpha/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-alpha/a.out.h --- a/include/asm-alpha/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-alpha/a.out.h @@ -98,11 +98,5 @@ struct exec set_personality (((BFPM->sh_bang || EX.ah.entry < 0x100000000L \ ? ADDR_LIMIT_32BIT : 0) | PER_OSF4)) -#define STACK_TOP \ - (current->personality & ADDR_LIMIT_32BIT ? 0x80000000 : 0x00120000000UL) - -#define STACK_TOP_MAX 0x00120000000UL - -#endif - +#endif /* __KERNEL__ */ #endif /* __A_OUT_GNU_H__ */ diff -puN include/asm-alpha/processor.h~aout-move-stack_top-to-asm-processorh include/asm-alpha/processor.h --- a/include/asm-alpha/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-alpha/processor.h @@ -20,6 +20,11 @@ */ #define TASK_SIZE (0x40000000000UL) +#define STACK_TOP \ + (current->personality & ADDR_LIMIT_32BIT ? 0x80000000 : 0x00120000000UL) + +#define STACK_TOP_MAX 0x00120000000UL + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ diff -puN include/asm-arm/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-arm/a.out.h --- a/include/asm-arm/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-arm/a.out.h @@ -27,12 +27,6 @@ struct exec #define M_ARM 103 -#ifdef __KERNEL__ -#define STACK_TOP ((current->personality == PER_LINUX_32BIT) ? \ - TASK_SIZE : TASK_SIZE_26) -#define STACK_TOP_MAX TASK_SIZE -#endif - #ifndef LIBRARY_START_TEXT #define LIBRARY_START_TEXT (0x00c00000) #endif diff -puN include/asm-arm/processor.h~aout-move-stack_top-to-asm-processorh include/asm-arm/processor.h --- a/include/asm-arm/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-arm/processor.h @@ -22,6 +22,12 @@ #include #include +#ifdef __KERNEL__ +#define STACK_TOP ((current->personality == PER_LINUX_32BIT) ? \ + TASK_SIZE : TASK_SIZE_26) +#define STACK_TOP_MAX TASK_SIZE +#endif + union debug_insn { u32 arm; u16 thumb; diff -puN include/asm-avr32/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-avr32/a.out.h --- a/include/asm-avr32/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-avr32/a.out.h @@ -17,11 +17,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ - -#define STACK_TOP TASK_SIZE -#define STACK_TOP_MAX STACK_TOP - -#endif - #endif /* __ASM_AVR32_A_OUT_H */ diff -puN include/asm-avr32/processor.h~aout-move-stack_top-to-asm-processorh include/asm-avr32/processor.h --- a/include/asm-avr32/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-avr32/processor.h @@ -13,6 +13,11 @@ #define TASK_SIZE 0x80000000 +#ifdef __KERNEL__ +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP +#endif + #ifndef __ASSEMBLY__ static inline void *current_text_addr(void) diff -puN include/asm-blackfin/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-blackfin/a.out.h --- a/include/asm-blackfin/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-blackfin/a.out.h @@ -16,10 +16,4 @@ struct exec { #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ - -#define STACK_TOP TASK_SIZE - -#endif - #endif /* __BFIN_A_OUT_H__ */ diff -puN include/asm-blackfin/processor.h~aout-move-stack_top-to-asm-processorh include/asm-blackfin/processor.h --- a/include/asm-blackfin/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-blackfin/processor.h @@ -30,6 +30,10 @@ static inline void wrusp(unsigned long u extern unsigned long memory_end; #define TASK_SIZE (memory_end) +#ifdef __KERNEL__ +#define STACK_TOP TASK_SIZE +#endif + #define TASK_UNMAPPED_BASE 0 struct thread_struct { diff -puN include/asm-cris/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-cris/a.out.h --- a/include/asm-cris/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-cris/a.out.h @@ -6,11 +6,6 @@ * 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 */ @@ -28,5 +23,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) - #endif diff -puN include/asm-cris/processor.h~aout-move-stack_top-to-asm-processorh include/asm-cris/processor.h --- a/include/asm-cris/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-cris/processor.h @@ -17,6 +17,9 @@ struct task_struct; +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ diff -puN include/asm-h8300/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-h8300/a.out.h --- a/include/asm-h8300/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-h8300/a.out.h @@ -17,11 +17,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ - -#define STACK_TOP TASK_SIZE -#define STACK_TOP_MAX STACK_TOP - -#endif - #endif /* __H8300_A_OUT_H__ */ diff -puN include/asm-h8300/processor.h~aout-move-stack_top-to-asm-processorh include/asm-h8300/processor.h --- a/include/asm-h8300/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-h8300/processor.h @@ -39,6 +39,11 @@ static inline void wrusp(unsigned long u */ #define TASK_SIZE (0xFFFFFFFFUL) +#ifdef __KERNEL__ +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP +#endif + /* * This decides where the kernel will search for a free chunk of vm * space during mmap's. We won't be using it diff -puN include/asm-ia64/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-ia64/a.out.h --- a/include/asm-ia64/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-ia64/a.out.h @@ -29,7 +29,4 @@ struct exec { #define N_SYMSIZE(x) 0 #define N_TXTOFF(x) 0 -#ifdef __KERNEL__ -#include -#endif #endif /* _ASM_IA64_A_OUT_H */ diff -puN include/asm-m32r/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-m32r/a.out.h --- a/include/asm-m32r/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-m32r/a.out.h @@ -17,11 +17,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ - -#define STACK_TOP TASK_SIZE -#define STACK_TOP_MAX STACK_TOP - -#endif - #endif /* _ASM_M32R_A_OUT_H */ diff -puN include/asm-m32r/processor.h~aout-move-stack_top-to-asm-processorh include/asm-m32r/processor.h --- a/include/asm-m32r/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-m32r/processor.h @@ -60,6 +60,11 @@ extern struct cpuinfo_m32r cpu_data[]; #define TASK_SIZE (0x00400000UL) #endif +#ifdef __KERNEL__ +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP +#endif + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ diff -puN include/asm-m68k/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-m68k/a.out.h --- a/include/asm-m68k/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-m68k/a.out.h @@ -17,11 +17,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ - -#define STACK_TOP TASK_SIZE -#define STACK_TOP_MAX STACK_TOP - -#endif - #endif /* __M68K_A_OUT_H__ */ diff -puN include/asm-m68k/processor.h~aout-move-stack_top-to-asm-processorh include/asm-m68k/processor.h --- a/include/asm-m68k/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-m68k/processor.h @@ -41,6 +41,11 @@ static inline void wrusp(unsigned long u #define TASK_SIZE (0x0E000000UL) #endif +#ifdef __KERNEL__ +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP +#endif + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ diff -puN include/asm-mips/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-mips/a.out.h --- a/include/asm-mips/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-mips/a.out.h @@ -32,17 +32,4 @@ struct exec #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 \ - (test_thread_flag(TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE) -#endif -#define STACK_TOP_MAX TASK_SIZE - -#endif - #endif /* _ASM_A_OUT_H */ diff -puN include/asm-mips/processor.h~aout-move-stack_top-to-asm-processorh include/asm-mips/processor.h --- a/include/asm-mips/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-mips/processor.h @@ -39,6 +39,7 @@ extern unsigned int vced_count, vcei_cou * so don't change it unless you know what you are doing. */ #define TASK_SIZE 0x7fff8000UL +#define STACK_TOP TASK_SIZE /* * This decides where the kernel will search for a free chunk of vm @@ -57,6 +58,8 @@ extern unsigned int vced_count, vcei_cou */ #define TASK_SIZE32 0x7fff8000UL #define TASK_SIZE 0x10000000000UL +#define STACK_TOP \ + (test_thread_flag(TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE) /* * This decides where the kernel will search for a free chunk of vm @@ -69,6 +72,10 @@ extern unsigned int vced_count, vcei_cou (test_tsk_thread_flag(tsk, TIF_32BIT_ADDR) ? TASK_SIZE32 : TASK_SIZE) #endif +#ifdef __KERNEL__ +#define STACK_TOP_MAX TASK_SIZE +#endif + #define NUM_FPU_REGS 32 typedef __u64 fpureg_t; diff -puN include/asm-parisc/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-parisc/a.out.h --- a/include/asm-parisc/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-parisc/a.out.h @@ -17,14 +17,4 @@ struct exec #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__ */ diff -puN include/asm-parisc/processor.h~aout-move-stack_top-to-asm-processorh include/asm-parisc/processor.h --- a/include/asm-parisc/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-parisc/processor.h @@ -47,6 +47,16 @@ #define DEFAULT_MAP_BASE DEFAULT_MAP_BASE32 #endif +#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 + #ifndef __ASSEMBLY__ /* diff -puN include/asm-powerpc/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-powerpc/a.out.h --- a/include/asm-powerpc/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-powerpc/a.out.h @@ -17,23 +17,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ -#ifdef __powerpc64__ - -#define STACK_TOP_USER64 TASK_SIZE_USER64 -#define STACK_TOP_USER32 TASK_SIZE_USER32 - -#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \ - STACK_TOP_USER32 : STACK_TOP_USER64) - -#define STACK_TOP_MAX STACK_TOP_USER64 - -#else /* __powerpc64__ */ - -#define STACK_TOP TASK_SIZE -#define STACK_TOP_MAX STACK_TOP - -#endif /* __powerpc64__ */ -#endif /* __KERNEL__ */ - #endif /* _ASM_POWERPC_A_OUT_H */ diff -puN include/asm-powerpc/processor.h~aout-move-stack_top-to-asm-processorh include/asm-powerpc/processor.h --- a/include/asm-powerpc/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-powerpc/processor.h @@ -113,6 +113,25 @@ extern struct task_struct *last_task_use TASK_UNMAPPED_BASE_USER32 : TASK_UNMAPPED_BASE_USER64 ) #endif +#ifdef __KERNEL__ +#ifdef __powerpc64__ + +#define STACK_TOP_USER64 TASK_SIZE_USER64 +#define STACK_TOP_USER32 TASK_SIZE_USER32 + +#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \ + STACK_TOP_USER32 : STACK_TOP_USER64) + +#define STACK_TOP_MAX STACK_TOP_USER64 + +#else /* __powerpc64__ */ + +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP + +#endif /* __powerpc64__ */ +#endif /* __KERNEL__ */ + typedef struct { unsigned long seg; } mm_segment_t; diff -puN include/asm-s390/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-s390/a.out.h --- a/include/asm-s390/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-s390/a.out.h @@ -29,11 +29,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ - -#define STACK_TOP TASK_SIZE -#define STACK_TOP_MAX DEFAULT_TASK_SIZE - -#endif - #endif /* __A_OUT_GNU_H__ */ diff -puN include/asm-s390/processor.h~aout-move-stack_top-to-asm-processorh include/asm-s390/processor.h --- a/include/asm-s390/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-s390/processor.h @@ -81,6 +81,13 @@ extern struct task_struct *last_task_use #endif /* __s390x__ */ +#ifdef __KERNEL__ + +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX DEFAULT_TASK_SIZE + +#endif + #define HAVE_ARCH_PICK_MMAP_LAYOUT typedef struct { diff -puN include/asm-sh/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-sh/a.out.h --- a/include/asm-sh/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-sh/a.out.h @@ -17,11 +17,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ - -#define STACK_TOP TASK_SIZE -#define STACK_TOP_MAX STACK_TOP - -#endif - #endif /* __ASM_SH_A_OUT_H */ diff -puN include/asm-sh/processor_32.h~aout-move-stack_top-to-asm-processorh include/asm-sh/processor_32.h --- a/include/asm-sh/processor_32.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-sh/processor_32.h @@ -50,6 +50,9 @@ extern struct sh_cpuinfo cpu_data[]; */ #define TASK_SIZE 0x7c000000UL +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ diff -puN include/asm-sh/processor_64.h~aout-move-stack_top-to-asm-processorh include/asm-sh/processor_64.h --- a/include/asm-sh/processor_64.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-sh/processor_64.h @@ -83,6 +83,9 @@ extern struct sh_cpuinfo cpu_data[]; */ #define TASK_SIZE 0x7ffff000UL +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ diff -puN include/asm-sparc/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-sparc/a.out.h --- a/include/asm-sparc/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-sparc/a.out.h @@ -87,13 +87,4 @@ struct relocation_info /* used when head #define N_RELOCATION_INFO_DECLARED 1 -#ifdef __KERNEL__ - -#include - -#define STACK_TOP (PAGE_OFFSET - PAGE_SIZE) -#define STACK_TOP_MAX STACK_TOP - -#endif /* __KERNEL__ */ - #endif /* __SPARC_A_OUT_H__ */ diff -puN include/asm-sparc/processor.h~aout-move-stack_top-to-asm-processorh include/asm-sparc/processor.h --- a/include/asm-sparc/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-sparc/processor.h @@ -33,6 +33,10 @@ * we can make our access_ok test faster */ #define TASK_SIZE PAGE_OFFSET +#ifdef __KERNEL__ +#define STACK_TOP (PAGE_OFFSET - PAGE_SIZE) +#define STACK_TOP_MAX STACK_TOP +#endif /* __KERNEL__ */ struct task_struct; diff -puN include/asm-sparc64/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-sparc64/a.out.h --- a/include/asm-sparc64/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-sparc64/a.out.h @@ -93,18 +93,6 @@ struct relocation_info /* used when head #define N_RELOCATION_INFO_DECLARED 1 -#ifdef __KERNEL__ - -#define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE) -#define STACK_TOP64 (0x0000080000000000UL - (1UL << 32UL)) - -#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \ - STACK_TOP32 : STACK_TOP64) - -#define STACK_TOP_MAX STACK_TOP64 - -#endif - #endif /* !(__ASSEMBLY__) */ #endif /* !(__SPARC64_A_OUT_H__) */ diff -puN include/asm-sparc64/processor.h~aout-move-stack_top-to-asm-processorh include/asm-sparc64/processor.h --- a/include/asm-sparc64/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-sparc64/processor.h @@ -36,7 +36,19 @@ #else #define VPTE_SIZE (1 << (VA_BITS - PAGE_SHIFT + 3)) #endif + #define TASK_SIZE ((unsigned long)-VPTE_SIZE) +#ifdef __KERNEL__ + +#define STACK_TOP32 ((1UL << 32UL) - PAGE_SIZE) +#define STACK_TOP64 (0x0000080000000000UL - (1UL << 32UL)) + +#define STACK_TOP (test_thread_flag(TIF_32BIT) ? \ + STACK_TOP32 : STACK_TOP64) + +#define STACK_TOP_MAX STACK_TOP64 + +#endif #ifndef __ASSEMBLY__ diff -puN include/asm-sparc64/user.h~aout-move-stack_top-to-asm-processorh include/asm-sparc64/user.h --- a/include/asm-sparc64/user.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-sparc64/user.h @@ -8,7 +8,7 @@ #ifndef _SPARC64_USER_H #define _SPARC64_USER_H -#include +#include struct sunos_regs { unsigned int psr, pc, npc, y; unsigned int regs[15]; diff -puN include/asm-um/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-um/a.out.h --- a/include/asm-um/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-um/a.out.h @@ -8,15 +8,4 @@ #include "asm/arch/a.out.h" -#undef STACK_TOP -#undef STACK_TOP_MAX - -extern unsigned long stacksizelim; - -#define STACK_ROOM (stacksizelim) - -#define STACK_TOP (TASK_SIZE - 2 * PAGE_SIZE) - -#define STACK_TOP_MAX STACK_TOP - #endif diff -puN include/asm-um/processor-generic.h~aout-move-stack_top-to-asm-processorh include/asm-um/processor-generic.h --- a/include/asm-um/processor-generic.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-um/processor-generic.h @@ -95,6 +95,15 @@ extern unsigned long task_size; #define TASK_SIZE (task_size) +#undef STACK_TOP +#undef STACK_TOP_MAX + +extern unsigned long stacksizelim; + +#define STACK_ROOM (stacksizelim) +#define STACK_TOP (TASK_SIZE - 2 * PAGE_SIZE) +#define STACK_TOP_MAX STACK_TOP + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ diff -puN include/asm-x86/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-x86/a.out.h --- a/include/asm-x86/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-x86/a.out.h @@ -17,14 +17,4 @@ struct exec #define N_DRSIZE(a) ((a).a_drsize) #define N_SYMSIZE(a) ((a).a_syms) -#ifdef __KERNEL__ -# include -# define STACK_TOP TASK_SIZE -# ifdef CONFIG_X86_32 -# define STACK_TOP_MAX STACK_TOP -# else -# define STACK_TOP_MAX TASK_SIZE64 -# endif -#endif - #endif /* _ASM_X86_A_OUT_H */ diff -puN include/asm-x86/processor_32.h~aout-move-stack_top-to-asm-processorh include/asm-x86/processor_32.h --- a/include/asm-x86/processor_32.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-x86/processor_32.h @@ -28,6 +28,8 @@ DECLARE_PER_CPU(u8, cpu_llc_id); * User space process size: 3GB (default). */ #define TASK_SIZE (PAGE_OFFSET) +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP #define INIT_THREAD { \ .sp0 = sizeof(init_stack) + (long)&init_stack, \ diff -puN include/asm-x86/processor_64.h~aout-move-stack_top-to-asm-processorh include/asm-x86/processor_64.h --- a/include/asm-x86/processor_64.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-x86/processor_64.h @@ -30,7 +30,8 @@ #define TASK_SIZE (test_thread_flag(TIF_IA32) ? IA32_PAGE_OFFSET : TASK_SIZE64) #define TASK_SIZE_OF(child) ((test_tsk_thread_flag(child, TIF_IA32)) ? IA32_PAGE_OFFSET : TASK_SIZE64) - +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX TASK_SIZE64 DECLARE_PER_CPU(struct orig_ist, orig_ist); diff -puN include/asm-xtensa/a.out.h~aout-move-stack_top-to-asm-processorh include/asm-xtensa/a.out.h --- a/include/asm-xtensa/a.out.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-xtensa/a.out.h @@ -14,11 +14,6 @@ #ifndef _XTENSA_A_OUT_H #define _XTENSA_A_OUT_H -/* Note: the kernel needs the a.out definitions, even if only ELF is used. */ - -#define STACK_TOP TASK_SIZE -#define STACK_TOP_MAX STACK_TOP - struct exec { unsigned long a_info; diff -puN include/asm-xtensa/processor.h~aout-move-stack_top-to-asm-processorh include/asm-xtensa/processor.h --- a/include/asm-xtensa/processor.h~aout-move-stack_top-to-asm-processorh +++ a/include/asm-xtensa/processor.h @@ -34,6 +34,8 @@ */ #define TASK_SIZE __XTENSA_UL_CONST(0x40000000) +#define STACK_TOP TASK_SIZE +#define STACK_TOP_MAX STACK_TOP /* * General exception cause assigned to debug exceptions. Debug exceptions go _