diff options
-rw-r--r-- | sys/kern/imgact_elf.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 45f6d64..669c652 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -1664,6 +1664,12 @@ __elfN(trans_prot)(Elf_Word flags) prot |= VM_PROT_WRITE; if (flags & PF_R) prot |= VM_PROT_READ; +#if __ELF_WORD_SIZE == 32 +#if defined(__amd64__) || defined(__ia64__) + if (flags & PF_R) + prot |= VM_PROT_EXECUTE; +#endif +#endif return (prot); } |