Re: [Qemu-devel] [PATCH] linux-user/flatload: fix initial stack pointer alignment

2018-10-24 Thread Max Filippov
On Wed, Oct 24, 2018 at 10:19 AM Max Filippov wrote: > > On Wed, Oct 24, 2018 at 4:35 AM Laurent Vivier wrote: > > > diff --git a/linux-user/flatload.c b/linux-user/flatload.c > > > index 2eefe55e5000..1893966b5b30 100644 > > > --- a/linux-user/flatload.c > > > +++ b/linux-user/flatload.c > > >

Re: [Qemu-devel] [PATCH] linux-user/flatload: fix initial stack pointer alignment

2018-10-24 Thread Max Filippov
On Wed, Oct 24, 2018 at 4:35 AM Laurent Vivier wrote: > > diff --git a/linux-user/flatload.c b/linux-user/flatload.c > > index 2eefe55e5000..1893966b5b30 100644 > > --- a/linux-user/flatload.c > > +++ b/linux-user/flatload.c > > -sp -= 16 - ((sp + stack_len) & 15); > > +if ((sp -

Re: [Qemu-devel] [PATCH] linux-user/flatload: fix initial stack pointer alignment

2018-10-24 Thread Laurent Vivier
On 24/10/2018 03:38, Max Filippov wrote: > Stack pointer alignment code incorrectly adds stack_size to sp instead > of subtracting it. It also does not take flat_argvp_envp_on_stack() into > account when calculating stack_size. This results in initial stack > pointer misalignment with certain set

[Qemu-devel] [PATCH] linux-user/flatload: fix initial stack pointer alignment

2018-10-23 Thread Max Filippov
Stack pointer alignment code incorrectly adds stack_size to sp instead of subtracting it. It also does not take flat_argvp_envp_on_stack() into account when calculating stack_size. This results in initial stack pointer misalignment with certain set of command line arguments and environment