libc_init_static: apply relro earlier.
The dynamic linker applies relro before the preinit and init arrays are executed, so we should be consistent for statically linked executables. Change-Id: Ia0a49d0e981a6e8791f74eed00280edf576ba139
This commit is contained in:
parent
2c5153b043
commit
9fb48ac257
@ -101,6 +101,8 @@ __noreturn void __libc_init(uintptr_t *elfdata,
|
||||
/* Initialize the C runtime environment */
|
||||
__libc_init_common(elfdata);
|
||||
|
||||
apply_gnu_relro();
|
||||
|
||||
/* Several Linux ABIs don't pass the onexit pointer, and the ones that
|
||||
* do never use it. Therefore, we ignore it.
|
||||
*/
|
||||
@ -122,6 +124,5 @@ __noreturn void __libc_init(uintptr_t *elfdata,
|
||||
if (structors->fini_array)
|
||||
__cxa_atexit(__libc_fini,structors->fini_array,NULL);
|
||||
|
||||
apply_gnu_relro();
|
||||
exit(slingshot(argc, argv, envp));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user