mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-29 17:36:29 -05:00
32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Ryo Hashimoto <hashimoto@google.com>
|
||
|
Date: Wed, 14 Sep 2022 17:28:03 +0900
|
||
|
Subject: [PATCH] DO NOT MERGE: Workaround for mmap error when building
|
||
|
|
||
|
To fix errors which happen when building Android P on a workstation
|
||
|
running Linux kernel 5.18.
|
||
|
|
||
|
Bug: 235181357
|
||
|
Test: build
|
||
|
Change-Id: I92e5a7b84c8018d50c38ec386428e3191cd5600c
|
||
|
---
|
||
|
runtime/mem_map.cc | 5 +++++
|
||
|
1 file changed, 5 insertions(+)
|
||
|
|
||
|
diff --git a/runtime/mem_map.cc b/runtime/mem_map.cc
|
||
|
index b9d51c1125..f034a3db4f 100644
|
||
|
--- a/runtime/mem_map.cc
|
||
|
+++ b/runtime/mem_map.cc
|
||
|
@@ -504,6 +504,11 @@ MemMap* MemMap::MapFileAtAddress(uint8_t* expected_ptr,
|
||
|
DCHECK(ContainedWithinExistingMap(expected_ptr, byte_count, error_msg))
|
||
|
<< ((error_msg != nullptr) ? *error_msg : std::string());
|
||
|
flags |= MAP_FIXED;
|
||
|
+#if !defined(ART_TARGET)
|
||
|
+ } else if (expected_ptr) {
|
||
|
+#define MAP_FIXED_NOREPLACE 0x100000
|
||
|
+ flags |= MAP_FIXED_NOREPLACE;
|
||
|
+#endif
|
||
|
} else {
|
||
|
CHECK_EQ(0, flags & MAP_FIXED);
|
||
|
// Don't bother checking for an overlapping region here. We'll
|