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

Re: [Xen-devel] mini-os: x86_64: crash passing double arguments

On 2 July 2014 11:36, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>> On 02.07.14 at 12:17, <talex5@xxxxxxxxx> wrote:
>> Subtracting 8 bytes from thread->sp when creating a new thread fixes
>> it (patch attached), but I'm not sure whether this is the right
>> solution, or whether there's a problem elsewhere (I know very little
>> about x86).
> Considering that this really is kernel code, passing
> -mpreferred-stack-boundary=2 to gcc would seem like the better
> option to me, or else someone might run into a similar issue again
> trying to use %ymm or %zmm registers in their MiniOS incarnation.

Could you explain this a bit further? It looks like using
-mpreferred-stack-boundary=2 just means that the code won't compile
("error: -mpreferred-stack-boundary=2 is not between 4 and 12").

Although Mini-OS applications run in kernel mode, they can still be
full applications, and need to use all the processor's features.

Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.