diff options
Diffstat (limited to 'rts/linker/elf_got.c')
-rw-r--r-- | rts/linker/elf_got.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/rts/linker/elf_got.c b/rts/linker/elf_got.c index 0395d169df..10ea25b98b 100644 --- a/rts/linker/elf_got.c +++ b/rts/linker/elf_got.c @@ -62,6 +62,9 @@ makeGot(ObjectCode * oc) { symTab->symbols[i].got_addr = (uint8_t *)oc->info->got_start + (slot++ * sizeof(void*)); + if(mprotect(mem, oc->info->got_size, PROT_READ) != 0) { + sysErrorBelch("unable to protect memory"); + } } return EXIT_SUCCESS; } |