Our build system declares that tcmalloc is the default allocator for 64-bit builds, and that the system allocator is the default for 32-bit builds. However, it accomplishes this by examining the host architecture, rather than the target architecture.
As a result, when building on a 64-bit machine with the --32 flag, tcmalloc is enabled. However, our tcmalloc SConscript does not include all of the files necessary to build tcmalloc in 32-bit mode, in particular the files base/vdso_support and base/elf_mem_image.cc.
Being able to do 32 bit builds on a 64 bit machine would be nice. We should either:
1) Change the selection rules so that disabling tcmalloc is done based on the target, rather than the host architecture.
2) Fix our tcmalloc build rules to include the missing files.
If we do the latter, I'm not aware of anything that would prevent us from using tcmalloc in 32-bit environments.