-fstack-protector influenced arc4random() End of 2002, the stack protector (SSP) is developed in OpenBSD In userland, crt0 initialized the cookie before calling main() In kernel, main() initialized the cookie itself ld.so support came much later In 2014, initialization is via the ELF .openbsd.randomdata segment from execve() or the boot-loader Now each shared-object (main program, libc, ld.so) has an independent SSP cookie This is state of the art... and noone is aware!