summaryrefslogtreecommitdiff
path: root/rts/linker/elf_got.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/linker/elf_got.c')
-rw-r--r--rts/linker/elf_got.c3
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;
}