[v3,3/9] elf: Parse gnu properties for the loader
Checks
Context |
Check |
Description |
redhat-pt-bot/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 |
success
|
Test passed
|
linaro-tcwg-bot/tcwg_glibc_build--master-arm |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_glibc_check--master-arm |
success
|
Test passed
|
Commit Message
So it can opt-in for memory sealing.
Checked on x86_64-linux-gnu.
---
elf/rtld.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
@@ -1751,11 +1751,15 @@ dl_main (const ElfW(Phdr) *phdr,
/* PT_GNU_RELRO is usually the last phdr. */
size_t cnt = rtld_ehdr->e_phnum;
while (cnt-- > 0)
- if (rtld_phdr[cnt].p_type == PT_GNU_RELRO)
+ switch (rtld_phdr[cnt].p_type)
{
+ case PT_GNU_RELRO:
GL(dl_rtld_map).l_relro_addr = rtld_phdr[cnt].p_vaddr;
GL(dl_rtld_map).l_relro_size = rtld_phdr[cnt].p_memsz;
break;
+ case PT_GNU_PROPERTY:
+ _dl_process_pt_gnu_property (&GL(dl_rtld_map), -1, &rtld_phdr[cnt]);
+ break;
}
/* Add the dynamic linker to the TLS list if it also uses TLS. */