On 10/2/20 11:59 PM, Richard Henderson wrote:
> Fixing this now will clarify following patches.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> linux-user/elfload.c | 12 +++++++++---
> 1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> index f6022fd704..7572a32a30 100644
> --- a/linux-user/elfload.c
> +++ b/linux-user/elfload.c
> @@ -2531,9 +2531,15 @@ static void load_elf_image(const char *image_name, int image_fd,
> abi_ulong vaddr, vaddr_po, vaddr_ps, vaddr_ef, vaddr_em, vaddr_len;
> int elf_prot = 0;
>
> - if (eppnt->p_flags & PF_R) elf_prot = PROT_READ;
> - if (eppnt->p_flags & PF_W) elf_prot |= PROT_WRITE;
> - if (eppnt->p_flags & PF_X) elf_prot |= PROT_EXEC;
> + if (eppnt->p_flags & PF_R) {
> + elf_prot |= PROT_READ;
> + }
> + if (eppnt->p_flags & PF_W) {
> + elf_prot |= PROT_WRITE;
> + }
> + if (eppnt->p_flags & PF_X) {
> + elf_prot |= PROT_EXEC;
> + }
>
> vaddr = load_bias + eppnt->p_vaddr;
> vaddr_po = TARGET_ELF_PAGEOFFSET(vaddr);
>