[PATCH v2] target/ppc: Fix load endianness for lxvwsx/lxvdsx

2021-05-18 Thread Giuseppe Musacchio
TARGET_WORDS_BIGENDIAN may not match the machine endianness if that's a runtime-configurable parameter. Fixes: bcb0b7b1a1c05707304f80ca6f523d557816f85c Fixes: afae37d98ae991c0792c867dbd9f32f988044318 Resolves: https://gitlab.com/qemu-project/qemu/-/issues/212 Signed-off-by: Giuseppe Musacchio

[PATCH] target/ppc: Fix load endianness for lxvwsx/lxvdsx

2021-05-18 Thread Giuseppe Musacchio
TARGET_WORDS_BIGENDIAN may not match the machine endianness if that's a runtime-configurable parameter. Fixes: bcb0b7b1a1c05707304f80ca6f523d557816f85c Resolves: https://gitlab.com/qemu-project/qemu/-/issues/212 Signed-off-by: Giuseppe Musacchio --- target/ppc/translate/vsx-impl.c.inc | 12

Re: [PATCH] Fix `lxvdsx` (issue #212)

2021-05-18 Thread Giuseppe Musacchio
The ISA [1] specifies the load order to be the target one, hence the use of MO_TEQ in my patch (in both lxvwsx and lxvdsx). I believe the error is hidden in some of the .mak files: I could not reproduce this problem with Qemu's user-mode emulation in either BE nor LE mode, this lead me to

Re: [PATCH] linux-user: Fix loading of BSS segments

2020-12-19 Thread Giuseppe Musacchio
On 19/12/20 11:55, Laurent Vivier wrote: > Le 17/12/2020 à 11:17, Giuseppe Musacchio a écrit : >> Some ELF binaries encode the .bss section as an extension of the data >> ones by setting the segment p_memsz > p_filesz. Some other binaries take >> a different route and en

Re: [PATCH] linux-user: Fix loading of BSS segments

2020-12-17 Thread Giuseppe Musacchio
On 17/12/20 11:48, Laurent Vivier wrote: > Le 17/12/2020 à 11:17, Giuseppe Musacchio a écrit : >> Some ELF binaries encode the .bss section as an extension of the data >> ones by setting the segment p_memsz > p_filesz. Some other binaries take >> a different route and en

[PATCH] linux-user: Fix loading of BSS segments

2020-12-17 Thread Giuseppe Musacchio
y mapped segment with the needed zero bits. The fix is pretty simple, if the segment is completely zero-filled we simply allocate one or more pages (according to p_memsz) and avoid calling zero_bss altogether. Signed-off-by: Giuseppe Musacchio --- linux-user/elfload.c | 30 -- 1

Re: [Qemu-devel] [PATCH] Avoid crash in epoll_ctl with EPOLL_CTL_DEL

2019-05-30 Thread Giuseppe Musacchio
Yes, that's much better if compatibility with such an old kernel version is wanted. I suppose there's no need for me to re-send the patch. On 30/05/19 18:12, Laurent Vivier wrote: Le 30/05/2019 à 18:00, Laurent Vivier a écrit : Le 30/05/2019 à 17:25, Giuseppe Musacchio a écrit : The `event

[Qemu-devel] [PATCH] Avoid crash in epoll_ctl with EPOLL_CTL_DEL

2019-05-30 Thread Giuseppe Musacchio
The `event` parameter is ignored by the kernel if `op` is EPOLL_CTL_DEL, do the same and avoid returning EFAULT if garbage is passed instead of a valid pointer. Signed-off-by: Giuseppe Musacchio --- linux-user/syscall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux

[Qemu-devel] [PATCH v2] linux-user: elf: Map empty PT_LOAD segments

2019-05-03 Thread Giuseppe Musacchio
a zero-length page. Signed-off-by: Giuseppe Musacchio Reviewed-by: Peter Maydell --- linux-user/elfload.c | 18 +- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index c1a2602..138735b 100644 --- a/linux-user/elfload.c

Re: [Qemu-devel] [PATCH] linux-user: elf: Map empty PT_LOAD sections

2019-05-03 Thread Giuseppe Musacchio
Friendly inactivity ping. On Thu, 18 Apr 2019 at 17:42, Giuseppe Musacchio wrote: > > Some PT_LOAD sections may be completely zeroed out and their p_filesize > is zero, in that case the loader should just allocate a page that's at > least p_memsz bytes large (plus eventual align

[Qemu-devel] [PATCH] linux-user: elf: Map empty PT_LOAD sections

2019-04-18 Thread Giuseppe Musacchio
a zero-length page. Signed-off-by: Giuseppe Musacchio --- linux-user/elfload.c | 16 +++- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/linux-user/elfload.c b/linux-user/elfload.c index c1a2602..e9a0951 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c