November 09, 2017

RELRO(RELocation Read-Only)

❑ RELRO(RELocation Read-Only) : A technology that protects ELF binaries and data sections.
* No RELRO is default.
❍ Partial RELRO : .ctors, dtors, .jcr, .dynamic sections are set to Read-Only. Fast(Enable lazy binding)
* gcc -Wl,-z,relro
❍ Full RELRO : .ctors, dtors, .jcr, .dynamic, .got sections are set to Read-Only. Slow(Disable lazy binding)
* gcc -Wl,-z,relro,-z,now


※ Lazy binding : This is to check the address of the function from the shared library at the function call.
* Reduced file size, less memory use at running.