From: Ben Noordhuis Date: Thu, 22 Jan 2015 20:50:35 +0000 (+0100) Subject: deps: fix v8 armv6 run-time detection X-Git-Tag: v1.0.4~26 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=297cadbab6a37fa4f14811452e4621770a321371;p=platform%2Fupstream%2Fnodejs.git 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 --- diff --git a/deps/v8/src/base/cpu.cc b/deps/v8/src/base/cpu.cc index 56e1c46..daf3302 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.