Update the ELF personality macros used for individual ABIs to make 
actions in the same order across all of them and match formatting too.

Signed-off-by: Maciej W. Rozycki <[email protected]>
---
linux-mips-set-personality-shuffle.diff
Index: linux-sfr-test/arch/mips/include/asm/elf.h
===================================================================
--- linux-sfr-test.orig/arch/mips/include/asm/elf.h     2015-11-11 
02:20:23.314234000 +0000
+++ linux-sfr-test/arch/mips/include/asm/elf.h  2015-11-11 02:20:27.589266000 
+0000
@@ -295,17 +295,16 @@ extern struct mips_abi mips_abi_n32;
 
 #define SET_PERSONALITY2(ex, state)                                    \
 do {                                                                   \
-       if (personality(current->personality) != PER_LINUX)             \
-               set_personality(PER_LINUX);                             \
-                                                                       \
        clear_thread_flag(TIF_HYBRID_FPREGS);                           \
        set_thread_flag(TIF_32BIT_FPREGS);                              \
                                                                        \
-       mips_set_personality_fp(state);                                 \
-                                                                       \
        current->thread.abi = &mips_abi;                                \
                                                                        \
+       mips_set_personality_fp(state);                                 \
        mips_set_personality_nan(state);                                \
+                                                                       \
+       if (personality(current->personality) != PER_LINUX)             \
+               set_personality(PER_LINUX);                             \
 } while (0)
 
 #endif /* CONFIG_32BIT */
@@ -316,6 +315,7 @@ do {                                                        
                \
 #define __SET_PERSONALITY32_N32()                                      \
        do {                                                            \
                set_thread_flag(TIF_32BIT_ADDR);                        \
+                                                                       \
                current->thread.abi = &mips_abi_n32;                    \
        } while (0)
 #else
@@ -331,9 +331,9 @@ do {                                                        
                \
                clear_thread_flag(TIF_HYBRID_FPREGS);                   \
                set_thread_flag(TIF_32BIT_FPREGS);                      \
                                                                        \
-               mips_set_personality_fp(state);                         \
-                                                                       \
                current->thread.abi = &mips_abi_32;                     \
+                                                                       \
+               mips_set_personality_fp(state);                         \
        } while (0)
 #else
 #define __SET_PERSONALITY32_O32(ex, state)                             \
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to