Only linux has personality
Change-Id: If668d9756d03cc12d6a2c0ac01d40245779bc296
diff --git a/src/native/dalvik_system_Zygote.cc b/src/native/dalvik_system_Zygote.cc
index cdc4c29..566f0b3 100644
--- a/src/native/dalvik_system_Zygote.cc
+++ b/src/native/dalvik_system_Zygote.cc
@@ -18,7 +18,6 @@
#include <paths.h>
#include <signal.h>
#include <stdlib.h>
-#include <sys/personality.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
@@ -37,6 +36,10 @@
#include <sys/prctl.h>
#endif
+#if defined(__linux__)
+#include <sys/personality.h>
+#endif
+
namespace art {
static pid_t gSystemServerPid = 0;
@@ -317,12 +320,14 @@
PLOG(FATAL) << "setuid(" << uid << ") failed";
}
+#if defined(__linux__)
// Work around ARM kernel ASLR lossage (http://b/5817320).
int old_personality = personality(0xffffffff);
int new_personality = personality(old_personality | ADDR_NO_RANDOMIZE);
if (new_personality == -1) {
PLOG(WARNING) << "personality(" << new_personality << ") failed";
}
+#endif
SetCapabilities(permittedCapabilities, effectiveCapabilities);