| Index: base/sys_byteorder.h | 
| diff --git a/base/sys_byteorder.h b/base/sys_byteorder.h | 
| index 8d9066c70228bfd7c36ec0cb3a2afe30dc006a2d..9ee1827e1e6d8ae8ea0dbf2a6d30cefb953dd4d3 100644 | 
| --- a/base/sys_byteorder.h | 
| +++ b/base/sys_byteorder.h | 
| @@ -13,6 +13,7 @@ | 
|  | 
| #include <stdint.h> | 
|  | 
| +#include "base/logging.h" | 
| #include "build/build_config.h" | 
|  | 
| #if defined(COMPILER_MSVC) | 
| @@ -46,6 +47,21 @@ inline uint64_t ByteSwap(uint64_t x) { | 
| #endif | 
| } | 
|  | 
| +inline uintptr_t ByteSwapUintPtrT(uintptr_t x) { | 
| +  // We do it this way because some build configurations are ILP32 even when | 
| +  // defined(ARCH_CPU_64_BITS). Unfortunately, we can't use sizeof in #ifs. But, | 
| +  // because these conditionals are constexprs, the irrelevant branches will | 
| +  // likely be optimized away, so this construction should not result in code | 
| +  // bloat. | 
| +  if (sizeof(uintptr_t) == 4) { | 
| +    return ByteSwap(static_cast<uint32_t>(x)); | 
| +  } else if (sizeof(uintptr_t) == 8) { | 
| +    return ByteSwap(static_cast<uint64_t>(x)); | 
| +  } else { | 
| +    NOTREACHED(); | 
| +  } | 
| +} | 
| + | 
| // Converts the bytes in |x| from host order (endianness) to little endian, and | 
| // returns the result. | 
| inline uint16_t ByteSwapToLE16(uint16_t x) { | 
|  |