<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jan 4, 2016 at 12:44 PM, Joerg Sonnenberger via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>On Mon, Jan 04, 2016 at 11:53:37AM -0500, James Y Knight via llvm-commits wrote:<br>
> Normally, increasing the alignment of a variable beyond what is<br>
> requested is okay. The reason there's a problem in this instance is<br>
> due to the way that shared objects work in ELF -- and that's a problem<br>
> regardless of whether the alignment was user-specified or not.<br>
<br>
</span>Actually, it is not so much the shared object side that is wrong. I<br>
still consider this to be fundamentally an LD bug -- it should be<br>
ensuring at least 16 Bytes alignment there.<br></blockquote><div><br></div>Why do you think that there's a bug in ld -- it gets its alignment from the observed alignment of the input object, right? If the input is 8-byte aligned, why should it force the output to be 16-byte aligned?<div><br></div><div>But regardless of whether there's also a bug in ld, I still think this is definitely an LLVM bug; it could just as well increase the required alignment of a global to 32...which would also be wrong.</div><div> </div></div></div></div>