Is it possible to allocate a single chunk of memory larger than 4GB with an Athlon64 under Linux (given a sufficient amount of swap space), i.e., doing something like
void *buf = malloc(5000000000);
in C/C++? The CPU should support it due to the 64 bit architecture, but how do the compiler (gcc-3.3.x), the system libraries (glibc-2.3.x) and the kernel (Linux-2.6.x) handle this?