| Index: third_party/tcmalloc/chromium/src/base/vdso_support.h
|
| ===================================================================
|
| --- third_party/tcmalloc/chromium/src/base/vdso_support.h (revision 87277)
|
| +++ 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.
|
|
|