Commit e4856a70 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'personality' of git://git390.osdl.marist.edu/pub/scm/linux-2.6

* 'personality' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY
parents d1b57263 0b592682
...@@ -144,9 +144,9 @@ extern int dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task); ...@@ -144,9 +144,9 @@ extern int dump_elf_task_fp(elf_fpreg_t *dest, struct task_struct *task);
: amask (AMASK_CIX) ? "ev6" : "ev67"); \ : amask (AMASK_CIX) ? "ev6" : "ev67"); \
}) })
#define SET_PERSONALITY(EX, IBCS2) \ #define SET_PERSONALITY(EX) \
set_personality(((EX).e_flags & EF_ALPHA_32BIT) \ set_personality(((EX).e_flags & EF_ALPHA_32BIT) \
? PER_LINUX_32BIT : (IBCS2) ? PER_SVR4 : PER_LINUX) ? PER_LINUX_32BIT : PER_LINUX)
extern int alpha_l1i_cacheshape; extern int alpha_l1i_cacheshape;
extern int alpha_l1d_cacheshape; extern int alpha_l1d_cacheshape;
......
...@@ -107,6 +107,6 @@ extern int arm_elf_read_implies_exec(const struct elf32_hdr *, int); ...@@ -107,6 +107,6 @@ extern int arm_elf_read_implies_exec(const struct elf32_hdr *, int);
#define ELF_PLAT_INIT(_r, load_addr) (_r)->ARM_r0 = 0 #define ELF_PLAT_INIT(_r, load_addr) (_r)->ARM_r0 = 0
extern void elf_set_personality(const struct elf32_hdr *); extern void elf_set_personality(const struct elf32_hdr *);
#define SET_PERSONALITY(ex, ibcs2) elf_set_personality(&(ex)) #define SET_PERSONALITY(ex) elf_set_personality(&(ex))
#endif #endif
...@@ -103,6 +103,6 @@ typedef struct user_fpu_struct elf_fpregset_t; ...@@ -103,6 +103,6 @@ typedef struct user_fpu_struct elf_fpregset_t;
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality(PER_LINUX_32BIT) #define SET_PERSONALITY(ex) set_personality(PER_LINUX_32BIT)
#endif /* __ASM_AVR32_ELF_H */ #endif /* __ASM_AVR32_ELF_H */
...@@ -122,6 +122,6 @@ do { \ ...@@ -122,6 +122,6 @@ do { \
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif #endif
...@@ -55,7 +55,7 @@ typedef unsigned long elf_fpregset_t; ...@@ -55,7 +55,7 @@ typedef unsigned long elf_fpregset_t;
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality(PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#define R_H8_NONE 0 #define R_H8_NONE 0
#define R_H8_DIR32 1 #define R_H8_DIR32 1
......
...@@ -41,7 +41,7 @@ randomize_stack_top(unsigned long stack_top); ...@@ -41,7 +41,7 @@ randomize_stack_top(unsigned long stack_top);
#define elf_map elf32_map #define elf_map elf32_map
#undef SET_PERSONALITY #undef SET_PERSONALITY
#define SET_PERSONALITY(ex, ibcs2) elf32_set_personality() #define SET_PERSONALITY(ex) elf32_set_personality()
#define elf_read_implies_exec(ex, have_pt_gnu_stack) (!(have_pt_gnu_stack)) #define elf_read_implies_exec(ex, have_pt_gnu_stack) (!(have_pt_gnu_stack))
......
...@@ -332,8 +332,8 @@ void ia64_elf32_init(struct pt_regs *regs); ...@@ -332,8 +332,8 @@ void ia64_elf32_init(struct pt_regs *regs);
#define ELF_PLATFORM NULL #define ELF_PLATFORM NULL
#ifdef __KERNEL__ #ifdef __KERNEL__
# define SET_PERSONALITY(EX,IBCS2) \ # define SET_PERSONALITY(EX) \
(current->personality = (IBCS2) ? PER_SVR4 : PER_LINUX) (current->personality = PER_LINUX)
#endif #endif
#define IA32_EFLAG 0x200 #define IA32_EFLAG 0x200
......
...@@ -202,7 +202,7 @@ extern void ia64_elf_core_copy_regs (struct pt_regs *src, elf_gregset_t dst); ...@@ -202,7 +202,7 @@ extern void ia64_elf_core_copy_regs (struct pt_regs *src, elf_gregset_t dst);
relevant until we have real hardware to play with... */ relevant until we have real hardware to play with... */
#define ELF_PLATFORM NULL #define ELF_PLATFORM NULL
#define SET_PERSONALITY(ex, ibcs2) set_personality(PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#define elf_read_implies_exec(ex, executable_stack) \ #define elf_read_implies_exec(ex, executable_stack) \
((executable_stack!=EXSTACK_DISABLE_X) && ((ex).e_flags & EF_IA_64_LINUX_EXECUTABLE_STACK) != 0) ((executable_stack!=EXSTACK_DISABLE_X) && ((ex).e_flags & EF_IA_64_LINUX_EXECUTABLE_STACK) != 0)
......
...@@ -105,6 +105,6 @@ typedef struct user_m68kfp_struct elf_fpregset_t; ...@@ -105,6 +105,6 @@ typedef struct user_m68kfp_struct elf_fpregset_t;
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif #endif
...@@ -247,10 +247,8 @@ extern struct mips_abi mips_abi_n32; ...@@ -247,10 +247,8 @@ extern struct mips_abi mips_abi_n32;
#ifdef CONFIG_32BIT #ifdef CONFIG_32BIT
#define SET_PERSONALITY(ex, ibcs2) \ #define SET_PERSONALITY(ex) \
do { \ do { \
if (ibcs2) \
set_personality(PER_SVR4); \
set_personality(PER_LINUX); \ set_personality(PER_LINUX); \
\ \
current->thread.abi = &mips_abi; \ current->thread.abi = &mips_abi; \
...@@ -296,7 +294,7 @@ do { \ ...@@ -296,7 +294,7 @@ do { \
#define __SET_PERSONALITY32(ex) do { } while (0) #define __SET_PERSONALITY32(ex) do { } while (0)
#endif #endif
#define SET_PERSONALITY(ex, ibcs2) \ #define SET_PERSONALITY(ex) \
do { \ do { \
clear_thread_flag(TIF_32BIT_REGS); \ clear_thread_flag(TIF_32BIT_REGS); \
clear_thread_flag(TIF_32BIT_ADDR); \ clear_thread_flag(TIF_32BIT_ADDR); \
...@@ -306,9 +304,7 @@ do { \ ...@@ -306,9 +304,7 @@ do { \
else \ else \
current->thread.abi = &mips_abi; \ current->thread.abi = &mips_abi; \
\ \
if (ibcs2) \ if (current->personality != PER_LINUX32) \
set_personality(PER_SVR4); \
else if (current->personality != PER_LINUX32) \
set_personality(PER_LINUX); \ set_personality(PER_LINUX); \
} while (0) } while (0)
......
...@@ -85,7 +85,7 @@ struct elf_prpsinfo32 ...@@ -85,7 +85,7 @@ struct elf_prpsinfo32
* could set a processor dependent flag in the thread_struct. * could set a processor dependent flag in the thread_struct.
*/ */
#define SET_PERSONALITY(ex, ibcs2) \ #define SET_PERSONALITY(ex) \
set_thread_flag(TIF_32BIT); \ set_thread_flag(TIF_32BIT); \
current->thread.map_base = DEFAULT_MAP_BASE32; \ current->thread.map_base = DEFAULT_MAP_BASE32; \
current->thread.task_size = DEFAULT_TASK_SIZE32 \ current->thread.task_size = DEFAULT_TASK_SIZE32 \
......
...@@ -232,7 +232,7 @@ typedef elf_vrregset_t elf_fpxregset_t; ...@@ -232,7 +232,7 @@ typedef elf_vrregset_t elf_fpxregset_t;
#endif /* __powerpc64__ */ #endif /* __powerpc64__ */
#ifdef __powerpc64__ #ifdef __powerpc64__
# define SET_PERSONALITY(ex, ibcs2) \ # define SET_PERSONALITY(ex) \
do { \ do { \
unsigned long new_flags = 0; \ unsigned long new_flags = 0; \
if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
...@@ -256,7 +256,7 @@ do { \ ...@@ -256,7 +256,7 @@ do { \
# define elf_read_implies_exec(ex, exec_stk) (test_thread_flag(TIF_32BIT) ? \ # define elf_read_implies_exec(ex, exec_stk) (test_thread_flag(TIF_32BIT) ? \
(exec_stk != EXSTACK_DISABLE_X) : 0) (exec_stk != EXSTACK_DISABLE_X) : 0)
#else #else
# define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) # define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif /* __powerpc64__ */ #endif /* __powerpc64__ */
extern int dcache_bsize; extern int dcache_bsize;
......
...@@ -166,13 +166,11 @@ extern char elf_platform[]; ...@@ -166,13 +166,11 @@ extern char elf_platform[];
#define ELF_PLATFORM (elf_platform) #define ELF_PLATFORM (elf_platform)
#ifndef __s390x__ #ifndef __s390x__
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#else /* __s390x__ */ #else /* __s390x__ */
#define SET_PERSONALITY(ex, ibcs2) \ #define SET_PERSONALITY(ex) \
do { \ do { \
if (ibcs2) \ if (current->personality != PER_LINUX32) \
set_personality(PER_SVR4); \
else if (current->personality != PER_LINUX32) \
set_personality(PER_LINUX); \ set_personality(PER_LINUX); \
if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
set_thread_flag(TIF_31BIT); \ set_thread_flag(TIF_31BIT); \
......
...@@ -189,7 +189,7 @@ do { \ ...@@ -189,7 +189,7 @@ do { \
} while (0) } while (0)
#endif #endif
#define SET_PERSONALITY(ex, ibcs2) set_personality(PER_LINUX_32BIT) #define SET_PERSONALITY(ex) set_personality(PER_LINUX_32BIT)
struct task_struct; struct task_struct;
extern int dump_task_regs (struct task_struct *, elf_gregset_t *); extern int dump_task_regs (struct task_struct *, elf_gregset_t *);
extern int dump_task_fpu (struct task_struct *, elf_fpregset_t *); extern int dump_task_fpu (struct task_struct *, elf_fpregset_t *);
......
...@@ -137,6 +137,6 @@ typedef struct { ...@@ -137,6 +137,6 @@ typedef struct {
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif /* !(__ASMSPARC_ELF_H) */ #endif /* !(__ASMSPARC_ELF_H) */
...@@ -195,7 +195,7 @@ static inline unsigned int sparc64_elf_hwcap(void) ...@@ -195,7 +195,7 @@ static inline unsigned int sparc64_elf_hwcap(void)
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) \ #define SET_PERSONALITY(ex) \
do { unsigned long new_flags = current_thread_info()->flags; \ do { unsigned long new_flags = current_thread_info()->flags; \
new_flags &= _TIF_32BIT; \ new_flags &= _TIF_32BIT; \
if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \ if ((ex).e_ident[EI_CLASS] == ELFCLASS32) \
...@@ -208,9 +208,7 @@ do { unsigned long new_flags = current_thread_info()->flags; \ ...@@ -208,9 +208,7 @@ do { unsigned long new_flags = current_thread_info()->flags; \
else \ else \
clear_thread_flag(TIF_ABI_PENDING); \ clear_thread_flag(TIF_ABI_PENDING); \
/* flush_thread will update pgd cache */ \ /* flush_thread will update pgd cache */ \
if (ibcs2) \ if (current->personality != PER_LINUX32) \
set_personality(PER_SVR4); \
else if (current->personality != PER_LINUX32) \
set_personality(PER_LINUX); \ set_personality(PER_LINUX); \
} while (0) } while (0)
......
...@@ -683,7 +683,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) ...@@ -683,7 +683,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
* switch really is going to happen - do this in * switch really is going to happen - do this in
* flush_thread(). - akpm * flush_thread(). - akpm
*/ */
SET_PERSONALITY(loc->elf_ex, 0); SET_PERSONALITY(loc->elf_ex);
interpreter = open_exec(elf_interpreter); interpreter = open_exec(elf_interpreter);
retval = PTR_ERR(interpreter); retval = PTR_ERR(interpreter);
...@@ -734,7 +734,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) ...@@ -734,7 +734,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
goto out_free_dentry; goto out_free_dentry;
} else { } else {
/* Executables without an interpreter also need a personality */ /* Executables without an interpreter also need a personality */
SET_PERSONALITY(loc->elf_ex, 0); SET_PERSONALITY(loc->elf_ex);
} }
/* Flush all traces of the currently running executable */ /* Flush all traces of the currently running executable */
...@@ -748,7 +748,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) ...@@ -748,7 +748,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)
/* Do this immediately, since STACK_TOP as used in setup_arg_pages /* Do this immediately, since STACK_TOP as used in setup_arg_pages
may depend on the personality. */ may depend on the personality. */
SET_PERSONALITY(loc->elf_ex, 0); SET_PERSONALITY(loc->elf_ex);
if (elf_read_implies_exec(loc->elf_ex, executable_stack)) if (elf_read_implies_exec(loc->elf_ex, executable_stack))
current->personality |= READ_IMPLIES_EXEC; current->personality |= READ_IMPLIES_EXEC;
......
...@@ -88,6 +88,6 @@ typedef unsigned long elf_fpregset_t; ...@@ -88,6 +88,6 @@ typedef unsigned long elf_fpregset_t;
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif #endif
...@@ -137,6 +137,6 @@ do { \ ...@@ -137,6 +137,6 @@ do { \
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif #endif
...@@ -129,6 +129,6 @@ typedef elf_fpreg_t elf_fpregset_t; ...@@ -129,6 +129,6 @@ typedef elf_fpreg_t elf_fpregset_t;
intent than poking at uname or /proc/cpuinfo. */ intent than poking at uname or /proc/cpuinfo. */
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality(PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif /* _ASM_M32R__ELF_H */ #endif /* _ASM_M32R__ELF_H */
...@@ -114,6 +114,6 @@ typedef struct user_m68kfp_struct elf_fpregset_t; ...@@ -114,6 +114,6 @@ typedef struct user_m68kfp_struct elf_fpregset_t;
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif #endif
...@@ -141,7 +141,7 @@ do { \ ...@@ -141,7 +141,7 @@ do { \
#define ELF_PLATFORM (NULL) #define ELF_PLATFORM (NULL)
#ifdef __KERNEL__ #ifdef __KERNEL__
#define SET_PERSONALITY(ex, ibcs2) set_personality(PER_LINUX) #define SET_PERSONALITY(ex) set_personality(PER_LINUX)
#endif #endif
#endif /* _ASM_ELF_H */ #endif /* _ASM_ELF_H */
...@@ -236,7 +236,7 @@ typedef unsigned long elf_greg_t; ...@@ -236,7 +236,7 @@ typedef unsigned long elf_greg_t;
#define ELF_PLATFORM ("PARISC\0") #define ELF_PLATFORM ("PARISC\0")
#define SET_PERSONALITY(ex, ibcs2) \ #define SET_PERSONALITY(ex) \
current->personality = PER_LINUX; \ current->personality = PER_LINUX; \
current->thread.map_base = DEFAULT_MAP_BASE; \ current->thread.map_base = DEFAULT_MAP_BASE; \
current->thread.task_size = DEFAULT_TASK_SIZE \ current->thread.task_size = DEFAULT_TASK_SIZE \
......
...@@ -86,7 +86,7 @@ extern long elf_aux_hwcap; ...@@ -86,7 +86,7 @@ extern long elf_aux_hwcap;
extern char * elf_aux_platform; extern char * elf_aux_platform;
#define ELF_PLATFORM (elf_aux_platform) #define ELF_PLATFORM (elf_aux_platform)
#define SET_PERSONALITY(ex, ibcs2) do { } while (0) #define SET_PERSONALITY(ex) do { } while (0)
extern unsigned long vsyscall_ehdr; extern unsigned long vsyscall_ehdr;
extern unsigned long vsyscall_end; extern unsigned long vsyscall_end;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
extern long elf_aux_hwcap; extern long elf_aux_hwcap;
#define ELF_HWCAP (elf_aux_hwcap) #define ELF_HWCAP (elf_aux_hwcap)
#define SET_PERSONALITY(ex, ibcs2) do ; while(0) #define SET_PERSONALITY(ex) do ; while(0)
#define ELF_EXEC_PAGESIZE 4096 #define ELF_EXEC_PAGESIZE 4096
......
...@@ -114,6 +114,6 @@ extern long elf_aux_hwcap; ...@@ -114,6 +114,6 @@ extern long elf_aux_hwcap;
#define ELF_PLATFORM "x86_64" #define ELF_PLATFORM "x86_64"
#define SET_PERSONALITY(ex, ibcs2) do ; while(0) #define SET_PERSONALITY(ex) do ; while(0)
#endif #endif
...@@ -186,7 +186,7 @@ do { \ ...@@ -186,7 +186,7 @@ do { \
set_fs(USER_DS); \ set_fs(USER_DS); \
} while (0) } while (0)
#define COMPAT_SET_PERSONALITY(ex, ibcs2) \ #define COMPAT_SET_PERSONALITY(ex) \
do { \ do { \
if (test_thread_flag(TIF_IA32)) \ if (test_thread_flag(TIF_IA32)) \
clear_thread_flag(TIF_ABI_PENDING); \ clear_thread_flag(TIF_ABI_PENDING); \
...@@ -267,7 +267,7 @@ extern int force_personality32; ...@@ -267,7 +267,7 @@ extern int force_personality32;
For the moment, we have only optimizations for the Intel generations, For the moment, we have only optimizations for the Intel generations,
but that could change... */ but that could change... */
#define SET_PERSONALITY(ex, ibcs2) set_personality_64bit() #define SET_PERSONALITY(ex) set_personality_64bit()
/* /*
* An executable for which elf_read_implies_exec() returns TRUE will * An executable for which elf_read_implies_exec() returns TRUE will
......
...@@ -189,7 +189,7 @@ typedef struct { ...@@ -189,7 +189,7 @@ typedef struct {
#endif #endif
} elf_xtregs_t; } elf_xtregs_t;
#define SET_PERSONALITY(ex, ibcs2) set_personality(PER_LINUX_32BIT) #define SET_PERSONALITY(ex) set_personality(PER_LINUX_32BIT)
struct task_struct; struct task_struct;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment