Looks to me like memory profiling is not available in any version, period.
Code:
#include <stdio.h>
#include <stdlib.h>
int main() {
char *ptr = malloc(13666);
return 0;
}
valgrind --leak-check=yes ./that_executable
==2873== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1)
==2873== malloc/free: in use at exit: 13,666 bytes in 1 blocks.
==2873== malloc/free: 1 allocs, 0 frees, 13,666 bytes allocated.
==2873== For counts of detected errors, rerun with: -v
==2873== searching for pointers to 1 not-freed blocks.
==2873== checked 65,040 bytes.
==2873==
==2873== 13,666 bytes in 1 blocks are definitely lost in loss record 1 of 1
==2873== at 0x4C2639E: malloc (vg_replace_malloc.c:207)
==2873== by 0x4004DD: main (in /media/sda6/root/C/a.out)
==2873==
==2873== LEAK SUMMARY:
==2873== definitely lost: 13,666 bytes in 1 blocks.
==2873== possibly lost: 0 bytes in 0 blocks.
==2873== still reachable: 0 bytes in 0 blocks.
==2873== suppressed: 0 bytes in 0 blocks.