Comment by ordu
6 hours ago
They argue, and I tend to agree, that their solution is more secure.
1. It impiles some function pointers to be writable temporarily, not all of them.
2. It doesn't hide writable pointers from a cursory glance not familiar with IFUNC.
The GOT has to be initially writable regardless of ifunc, even with relro, to apply relocations.