The TCMalloc code is supported on the following platforms. By “platforms”, we mean the union of operating system, architecture (e.g. little-endian vs. big-endian), compiler, and standard library.
TCMalloc requires a code base that supports C++17 and our code is C++17-compliant. C code is required to be compliant to C11.
We guarantee that our code will compile under the following compilation flags:
Linux:
-std=c++17(TL;DR; All code at this time must be built under C++17. We will update this list if circumstances change.)
The document below lists each platform, broken down by Operating System, Architecture, Specific Compiler, and Standard Library implementation.
Supported
| Operating System | Endianness/Word Size | Processor Architectures | Compilers* | Standard Libraries |
|---|---|---|---|---|
| Linux | little-endian, 64-bit | x86, AArch64 | gcc 12.1+ clang 11.0+ |
libstdc++ libc++ |
* gcc 12.1 and clang 11.0 are the minimum versions enforced by
tcmalloc/internal/config.h; older releases fail to compile. Our continuous
integration builds use recent releases of each compiler.
Best Effort
| Operating System | Endianness/Word Size | Processor Architectures | Compilers* | Standard Libraries |
|---|---|---|---|---|
| Linux | little-endian, 64-bit | PPC | gcc 12.1+ clang 11.0+ |
libstdc++ libc++ |