From 61cf963efeb8066172ad7529b8036ba9dd392d0e Mon Sep 17 00:00:00 2001 From: Lazar Trsic Date: Fri, 11 Dec 2015 17:02:49 +0100 Subject: [PATCH] Fix personality test for mips32r6 When personality syscall is executed on mips64, for a 32bit process, sys_32_personality() is called, which converts PER_LINUX32 -> PER_LINUX. Change expected value when mips32 is a second architecture. For more information see: https://www.linux-mips.org/archives/linux-mips/2015-08/msg00421.html https://www.linux-mips.org/archives/linux-mips/2015-11/msg00093.html Change-Id: I8c9062f536ad6e513f0ac585da3568d80e5fa1b4 --- tests/sys_personality_test.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/sys_personality_test.cpp b/tests/sys_personality_test.cpp index 2dfaa658c..6bd00efd9 100644 --- a/tests/sys_personality_test.cpp +++ b/tests/sys_personality_test.cpp @@ -21,7 +21,9 @@ TEST(sys_personality, current_persona) { int persona = personality(0xffffffff) & PER_MASK; #if defined(__BIONIC__) -#if defined(__LP64__) +// When personality syscall is executed on mips64, for a 32bit process +// sys_32_personality() is called, which converts PER_LINUX32 -> PER_LINUX +#if defined(__LP64__) || (__mips==32 && __mips_isa_rev>2) ASSERT_EQ(PER_LINUX, persona); #else ASSERT_EQ(PER_LINUX32, persona);