Index: src/base/cpu.cc |
diff --git a/src/base/cpu.cc b/src/base/cpu.cc |
index 1be0596699797af81ee5cc9bcfd39093aebab4d8..b5786a57f35f3d256e8fb20035a7cff99a930868 100644 |
--- a/src/base/cpu.cc |
+++ b/src/base/cpu.cc |
@@ -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. |