diff options
author | Elliott Hughes <enh@google.com> | 2013-09-30 18:43:46 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2013-09-30 18:43:46 -0700 |
commit | c620059479c47a78d57086d73726c9adc2f337ad (patch) | |
tree | ef410fffb4d853aaf7dbfee41743c197c4985856 /libc/bionic/libc_init_static.cpp | |
parent | 6dee3b9aeec40bb518c1a29b4462300869a03d8e (diff) | |
download | android_bionic-c620059479c47a78d57086d73726c9adc2f337ad.tar.gz android_bionic-c620059479c47a78d57086d73726c9adc2f337ad.tar.bz2 android_bionic-c620059479c47a78d57086d73726c9adc2f337ad.zip |
Remove 32-bit assumptions from the ELF code.
Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
Diffstat (limited to 'libc/bionic/libc_init_static.cpp')
-rw-r--r-- | libc/bionic/libc_init_static.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libc/bionic/libc_init_static.cpp b/libc/bionic/libc_init_static.cpp index a6b20eb9d..a60e41480 100644 --- a/libc/bionic/libc_init_static.cpp +++ b/libc/bionic/libc_init_static.cpp @@ -67,16 +67,16 @@ static void call_array(void(**list)()) { } static void apply_gnu_relro() { - Elf32_Phdr* phdr_start = reinterpret_cast<Elf32_Phdr*>(getauxval(AT_PHDR)); + Elf_Phdr* phdr_start = reinterpret_cast<Elf_Phdr*>(getauxval(AT_PHDR)); unsigned long int phdr_ct = getauxval(AT_PHNUM); - for (Elf32_Phdr* phdr = phdr_start; phdr < (phdr_start + phdr_ct); phdr++) { + for (Elf_Phdr* phdr = phdr_start; phdr < (phdr_start + phdr_ct); phdr++) { if (phdr->p_type != PT_GNU_RELRO) { continue; } - Elf32_Addr seg_page_start = PAGE_START(phdr->p_vaddr); - Elf32_Addr seg_page_end = PAGE_END(phdr->p_vaddr + phdr->p_memsz); + Elf_Addr seg_page_start = PAGE_START(phdr->p_vaddr); + Elf_Addr seg_page_end = PAGE_END(phdr->p_vaddr + phdr->p_memsz); // Check return value here? What do we do if we fail? mprotect(reinterpret_cast<void*>(seg_page_start), seg_page_end - seg_page_start, PROT_READ); |