From 297cadbab6a37fa4f14811452e4621770a321371 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 22 Jan 2015 21:50:35 +0100 Subject: [PATCH] deps: fix v8 armv6 run-time detection The elf_platform suffix in /proc/cpuinfo moved to the model name field in Linux 3.8. Out-of-tree patch pending https://codereview.chromium.org/867713003/ Fixes: https://github.com/iojs/io.js/issues/283 PR-URL: https://github.com/iojs/io.js/pull/559 Reviewed-By: Fedor Indutny --- deps/v8/src/base/cpu.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/deps/v8/src/base/cpu.cc b/deps/v8/src/base/cpu.cc index 56e1c4633c..daf3302365 100644 --- a/deps/v8/src/base/cpu.cc +++ b/deps/v8/src/base/cpu.cc @@ -438,7 +438,7 @@ CPU::CPU() // // See http://code.google.com/p/android/issues/detail?id=10812 // - // We try to correct this by looking at the 'elf_format' + // We try to correct this by looking at the 'elf_platform' // field reported by the 'Processor' field, which is of the // form of "(v7l)" for an ARMv7-based CPU, and "(v6l)" for // an ARMv6-one. For example, the Raspberry Pi is one popular @@ -450,6 +450,15 @@ CPU::CPU() } delete[] processor; } + + // elf_platform moved to the model name field in Linux v3.8. + if (architecture_ == 7) { + char* processor = cpu_info.ExtractField("model name"); + if (HasListItem(processor, "(v6l)")) { + architecture_ = 6; + } + delete[] processor; + } } // Try to extract the list of CPU features from ELF hwcaps.