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
This commit is contained in:
Linus Torvalds 2008-10-16 12:32:52 -07:00
commit e4856a70cf
28 changed files with 39 additions and 47 deletions

View File

@ -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;

View File

@ -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

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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 { \
#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 { \
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)

View File

@ -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 \

View File

@ -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 { \
# 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;

View File

@ -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); \

View File

@ -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 *);

View File

@ -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) */

View File

@ -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; \
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)

View File

@ -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)
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)
/* 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;

View File

@ -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

View File

@ -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

View File

@ -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 */

View File

@ -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

View File

@ -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 */

View File

@ -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 \

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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;
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

View File

@ -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;