Fix run-time ARMv6 detection.

BUG=v8:3844
LOG=y
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/867713003

Patch from Ben Noordhuis <info@bnoordhuis.nl>.

Cr-Commit-Position: refs/heads/master@{#26234}
This commit is contained in:
Ben Noordhuis 2015-01-23 07:00:37 +01:00 committed by Benedikt Meurer
parent 3ef689bb80
commit 9e99a6048a

View File

@ -456,7 +456,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
@ -468,6 +468,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.