mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-07-21 11:41:41 +00:00
2G is too much for qemu-mips and perhaps also for real mips devices as we use qemu-usermode during build to run host pieces like mksnapshot they fail, reducing the allocation range helps Fixes | LD_LIBRARY_PATH=/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/lib.host:/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1 /out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/obj.target/v 8_snapshot/geni; "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/v8-qemu-wrapper.sh" "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/nod e-v14.16.1/out/Release/mksnapshot" --turbo_instruction_scheduling "--target_os=linux" "--target_arch=mips" --startup_src "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/ou t/Release/obj.target/v8_snapshot/geni/snapshot.cc" --embedded_variant Default --embedded_src "/mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/obj.target/v8_snap shot/geni/embedded.S" --no-native-code-counters | | # | # Fatal process OOM in CodeRange setup: allocate virtual memory | # | | /mnt/b/yoe/master/build/tmp/work/mips32r2-yoe-linux/nodejs/14.16.1-r0/node-v14.16.1/out/Release/v8-qemu-wrapper.sh: line 7: 2292880 Trace/breakpoint trap (core dumped) PSEUDO_UNLOAD=1 qemu-mips -r 3.2.0 - Signed-off-by: Khem Raj <raj.khem@gmail.com>
33 lines
1.3 KiB
Diff
33 lines
1.3 KiB
Diff
Description: mksnapshot uses too much memory on 32-bit mipsel
|
|
Author: Jérémy Lal <kapouer@melix.org>
|
|
Last-Update: 2020-06-03
|
|
Forwarded: https://bugs.chromium.org/p/v8/issues/detail?id=10586
|
|
|
|
This ensures that we reserve 500M instead of 2G range for codegen
|
|
ensures that qemu-mips can allocate such large ranges
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
--- a/deps/v8/src/common/globals.h
|
|
+++ b/deps/v8/src/common/globals.h
|
|
@@ -224,7 +224,7 @@ constexpr size_t kMinimumCodeRangeSize =
|
|
constexpr size_t kMinExpectedOSPageSize = 64 * KB; // OS page on PPC Linux
|
|
#elif V8_TARGET_ARCH_MIPS
|
|
constexpr bool kPlatformRequiresCodeRange = false;
|
|
-constexpr size_t kMaximalCodeRangeSize = 2048LL * MB;
|
|
+constexpr size_t kMaximalCodeRangeSize = 512 * MB;
|
|
constexpr size_t kMinimumCodeRangeSize = 0 * MB;
|
|
constexpr size_t kMinExpectedOSPageSize = 4 * KB; // OS page.
|
|
#else
|
|
--- a/deps/v8/src/codegen/mips/constants-mips.h
|
|
+++ b/deps/v8/src/codegen/mips/constants-mips.h
|
|
@@ -140,7 +140,7 @@ const uint32_t kLeastSignificantByteInIn
|
|
namespace v8 {
|
|
namespace internal {
|
|
|
|
-constexpr size_t kMaxPCRelativeCodeRangeInMB = 4096;
|
|
+constexpr size_t kMaxPCRelativeCodeRangeInMB = 1024;
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// Registers and FPURegisters.
|