Index: third_party/tcmalloc/chromium/src/base/vdso_support.h |
=================================================================== |
--- third_party/tcmalloc/chromium/src/base/vdso_support.h (revision 88335) |
+++ third_party/tcmalloc/chromium/src/base/vdso_support.h (working copy) |
@@ -30,6 +30,7 @@ |
#ifdef HAVE_FEATURES_H |
#include <features.h> // for __GLIBC__ |
#endif |
+#include "base/basictypes.h" |
// Maybe one day we can rewrite this file not to require the elf |
// symbol extensions in glibc, but for right now we need them. |
@@ -39,7 +40,6 @@ |
#include <stdlib.h> // for NULL |
#include <link.h> // for ElfW |
-#include "base/basictypes.h" |
namespace base { |
@@ -64,7 +64,7 @@ |
// Supports iteration over all dynamic symbols. |
class SymbolIterator { |
public: |
- friend struct VDSOSupport; |
+ friend class VDSOSupport; |
const SymbolInfo *operator->() const; |
const SymbolInfo &operator*() const; |
SymbolIterator& operator++(); |
@@ -147,6 +147,10 @@ |
// kInvalidBase => value hasn't been determined yet. |
// 0 => there is no VDSO. |
// else => vma of VDSO Elf{32,64}_Ehdr. |
+ // |
+ // When testing with mock VDSO, low bit is set. |
+ // The low bit is always available because vdso_base_ is |
+ // page-aligned. |
static const void *vdso_base_; |
// NOLINT on 'long' because these routines mimic kernel api. |