AArch64: __va_list.__stack must be 8-byte aligned

Oliver Stannard oliver.stannard at arm.com
Thu Feb 20 09:12:04 PST 2014


Hi Tim,

Updated patch attached.

Oliver

-----Original Message-----
From: Tim Northover [mailto:t.p.northover at gmail.com] 
Sent: 20 February 2014 14:20
To: Oliver Stannard
Cc: LLVM Commits
Subject: Re: AArch64: __va_list.__stack must be 8-byte aligned

Hi Oliver,

> The attached patch fixes an issue where the __stack pointer in a va_list
> struct was not rounded up to a multiple of 8 bytes by va_start.

It's a bit far-fetched, but I think this solution could fail
occasionally. The problem is that increasing the size of a byval
object will increase the size of the accesses involved in moving it
around. If the source happens to be the last thing on the last page
given to that process...

Did you look at modifying the call to CreateFixedObject in
SaveVarArgRegisters instead?

Cheers.

Tim.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aarch64-variadic-stack-pointer-alignment-2.patch
Type: application/octet-stream
Size: 2735 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140220/89c0c4a7/attachment.obj>


More information about the llvm-commits mailing list