*/
 #define ELF_PLAT_INIT(_r, load_addr)   (_r)->regs[0] = 0
 
-#define SET_PERSONALITY(ex)            clear_thread_flag(TIF_32BIT);
+#define SET_PERSONALITY(ex)                                            \
+({                                                                     \
+       clear_bit(TIF_32BIT, ¤t->mm->context.flags);              \
+       clear_thread_flag(TIF_32BIT);                                   \
+})
 
 /* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */
 #define ARCH_DLINFO                                                    \
                                         ((x)->e_flags & EF_ARM_EABI_MASK))
 
 #define compat_start_thread            compat_start_thread
-#define COMPAT_SET_PERSONALITY(ex)     set_thread_flag(TIF_32BIT);
+#define COMPAT_SET_PERSONALITY(ex)                                     \
+({                                                                     \
+       set_bit(TIF_32BIT, ¤t->mm->context.flags);                \
+       set_thread_flag(TIF_32BIT);                                     \
+ })
 #define COMPAT_ARCH_DLINFO
 extern int aarch32_setup_vectors_page(struct linux_binprm *bprm,
                                      int uses_interp);