Index: src/base/cpu.cc |
diff --git a/src/base/cpu.cc b/src/base/cpu.cc |
index 692494afcb4c935cf6939444c922e575433e7de5..777f379bae90e1e3f0155e8ec9ae5f0fe87558bc 100644 |
--- a/src/base/cpu.cc |
+++ b/src/base/cpu.cc |
@@ -312,6 +312,8 @@ CPU::CPU() |
architecture_(0), |
variant_(-1), |
part_(0), |
+ icache_line_size_(UNKNOWN_CACHE_LINE_SIZE), |
+ dcache_line_size_(UNKNOWN_CACHE_LINE_SIZE), |
has_fpu_(false), |
has_cmov_(false), |
has_sahf_(false), |
@@ -644,9 +646,16 @@ CPU::CPU() |
if (n == 0 || entry.a_type == AT_NULL) { |
break; |
} |
- if (entry.a_type == AT_PLATFORM) { |
- auxv_cpu_type = reinterpret_cast<char*>(entry.a_un.a_val); |
- break; |
+ switch (entry.a_type) { |
+ case AT_PLATFORM: |
+ auxv_cpu_type = reinterpret_cast<char*>(entry.a_un.a_val); |
+ break; |
+ case AT_ICACHEBSIZE: |
+ icache_line_size_ = entry.a_un.a_val; |
+ break; |
+ case AT_DCACHEBSIZE: |
+ dcache_line_size_ = entry.a_un.a_val; |
+ break; |
} |
} |
fclose(fp); |