<div>Thanks!</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 15, 2019 at 04:22 Pavel Labath <<a href="mailto:pavel@labath.sk">pavel@labath.sk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ah, it's our struct XSAVE friend again. Yeah, I think I have a pretty <br>
good idea of what this is doing, and I believe we don't need any special <br>
alignment there, so I just went ahead and removed it. Assuming this <br>
doesn't cause any issues, you should be able to revert this patch.<br>
<br>
On 13/02/2019 18:46, Jonas Devlieghere wrote:<br>
> Hi Pavel,<br>
> <br>
> I think the offending struct is XSAVE in RegisterContext_x86.h. I don't <br>
> really know this code, would you mind having a look? It looks like you <br>
> touched the alignment in the past and seems to know what this this is <br>
> doing :-)<br>
> <br>
> tree f8fc1af1c62b728260b6c950649c55f7aba513f6<br>
> parent 6857692687979d934e188d117eadc93f48d52a0c<br>
> author Pavel Labath <<a href="mailto:pavel@labath.sk" target="_blank">pavel@labath.sk</a> <mailto:<a href="mailto:pavel@labath.sk" target="_blank">pavel@labath.sk</a>>> Wed Sep <br>
> 12 08:50:08 2018 +0000<br>
> committer Pavel Labath <<a href="mailto:pavel@labath.sk" target="_blank">pavel@labath.sk</a> <mailto:<a href="mailto:pavel@labath.sk" target="_blank">pavel@labath.sk</a>>> Wed <br>
> Sep 12 08:50:08 2018 +0000<br>
> <br>
> Reduce alignment on struct XSAVE, fixing a gcc warning<br>
> <br>
> The warning is about heap-allocating a struct with bigger alignment<br>
> requirements than the standard heap allocator provides.<br>
> <br>
> AFAICT, all uses of the XSAVE struct are already heap-allocated, so this<br>
> high alignment does not actually have any effect and removing it should<br>
> be NFC.<br>
> <br>
> I have also done some digging in the commit history. This alignment<br>
> requirement was since the XSAVE struct was introduced in r180572 when<br>
> adding AVX register support for linux. It does not mention the alignment<br>
> specifically, so I am guessing this was just put there because the<br>
> corresponging XSAVE cpu instruction requires its buffer to be 64-byte<br>
> aligned. However, LLDB will not be normally reading this struct via the<br>
> XSAVE instruction directly. Instead we will ask the kernel to copy the<br>
> buffer saved when suspeding the inferior. This should not require such<br>
> strict alignment (in fact, linux kernel will happily do this for any<br>
> alignment).<br>
> <br>
> llvm-svn: 342029<br>
> <br>
> <br>
> <br>
> <br>
> <br>
> On Mon, Feb 11, 2019 at 10:55 PM Pavel Labath <<a href="mailto:pavel@labath.sk" target="_blank">pavel@labath.sk</a> <br>
> <mailto:<a href="mailto:pavel@labath.sk" target="_blank">pavel@labath.sk</a>>> wrote:<br>
> <br>
>     On 12/02/2019 01:30, Jonas Devlieghere via lldb-commits wrote:<br>
>      > Author: jdevlieghere<br>
>      > Date: Mon Feb 11 16:30:21 2019<br>
>      > New Revision: 353778<br>
>      ><br>
>      > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=353778&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=353778&view=rev</a><br>
>      > Log:<br>
>      > Define _ENABLE_EXTENDED_ALIGNED_STORAGE on Windows.<br>
>      ><br>
>      > Apparently there are multiple places where MSVC complains about<br>
>      > instantiations with extended aligment. I think it's better to define<br>
>      > `_ENABLE_EXTENDED_ALIGNED_STORAGE` as suggested by the error message.<br>
>      ><br>
>      > I don't have access to a Windows machine so this is all speculative.<br>
>      ><br>
> <br>
>     I think it would be worth investigating where is this large alignment<br>
>     coming from (my guess: something inside the RegisterContextDarwin<br>
>     structs). We've had a case in the past where we were heap-allocating a<br>
>     struct with a 64-byte alignment. MSVC would give a warning there, but<br>
>     gcc&clang would silently under-align the result.<br>
> <br>
>     In that case, the large alignment was actually unneeded, so I fixed<br>
>     both<br>
>     issues by just lowering it. I suspect something similar may be possible<br>
>     here.<br>
> <br>
>     pl<br>
> <br>
<br>
</blockquote></div></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Sent from my iPhone</div>