qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v7 21/21] scripts: add loongarch64 binfmt config


From: WANG Xuerui
Subject: Re: [PATCH v7 21/21] scripts: add loongarch64 binfmt config
Date: Thu, 21 Oct 2021 15:45:42 +0800
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:95.0) Gecko/20100101 Thunderbird/95.0a1

On 2021/10/21 14:24, Song Gao wrote:
> Hi, Xuerui
>
> On 10/18/2021 11:49 PM, WANG Xuerui wrote:
>> Hi Song,
>>
>> On 10/18/21 20:47, Song Gao wrote:
>>> Signed-off-by: Song Gao <gaosong@loongson.cn>
>>> Signed-off-by: Xiaojuan Yang <yangxiaojuan@loongson.cn>
>>> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>>> ---
>>>   scripts/qemu-binfmt-conf.sh | 6 +++++-
>>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
>>> index 7de996d..5575bdd 100755
>>> --- a/scripts/qemu-binfmt-conf.sh
>>> +++ b/scripts/qemu-binfmt-conf.sh
>>> @@ -4,7 +4,7 @@
>>>   qemu_target_list="i386 i486 alpha arm armeb sparc sparc32plus sparc64 \
>>>   ppc ppc64 ppc64le m68k mips mipsel mipsn32 mipsn32el mips64 mips64el \
>>>   sh4 sh4eb s390x aarch64 aarch64_be hppa riscv32 riscv64 xtensa xtensaeb \
>>> -microblaze microblazeel or1k x86_64 hexagon"
>>> +microblaze microblazeel or1k x86_64 hexagon loongarch64"
>>>     
>>> i386_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00'
>>>   
>>> i386_mask='\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
>>> @@ -140,6 +140,10 @@ 
>>> hexagon_magic='\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x
>>>   
>>> hexagon_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
>>>   hexagon_family=hexagon
>>>   
>>> +loongarch64_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x01'
>>> +loongarch64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
>> Here the EI_OSABI (7th, 0-based offset) byte is ignored which is okay (we 
>> want at least ELFOSABI_SYSV=0 and ELFOSABI_GNU=3 but not others, mask of 
>> this byte could be "\xfc" to exclude values > 3).
>>
> The EI_OSABI can not be modified. If we support FreeBSD and OpenBSD in the 
> future.

Then the respective changes would belong to a different place than here,
i.e. "binfmt" which is IIRC Linux-only? We can't support running BSD
binaries on top of Linux with user-only emulation AFAIK.

But again, leaving this as-is should pose minimal risk. Even if we only
accept 0~3 at binfmt_misc matching time, we would still let through 1
and 2, so that's not enough and wouldn't make any difference. So while I
don't think you're right wrt the reason you stated, I'd still agree with
not touching this EI_OSABI mask byte.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]