Would be neat if randomized brk and setrlimit(RLIMIT_DATA, ...) worked in a predictable way: $ gcc brk.c -fPIC -pie -m64;./a.out;./a.out;./a.out sbrk=0x7f721b815000 main=0x7f721af04860 sbrk succeeded (brk=0x7f721b909240) sbrk=0x7fc3d77e2000 main=0x7fc3d66fa860 sbrk failed: Cannot allocate memory (brk=0x7fc3d77e2000) sbrk=0x7f05b0615000 main=0x7f05af76b860 sbrk failed: Cannot allocate memory (brk=0x7f05b0615000) -- Do what you love because life is too short for anything else.
