<div dir="ltr">It is funny that llvm-mc fails with an assertion failure when your assembly contains ".align 0x100000000" because it assumes internally that alignments is less than 2^32. I need to fix it first.</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 6, 2017 at 2:15 PM, Rafael Avila de Espindola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Rui Ueyama via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> writes:<br>
<br>
</span><div><div class="h5">> ruiu updated this revision to Diff 121783.<br>
> ruiu added a comment.<br>
><br>
> - Fix build error.<br>
><br>
><br>
> <a href="https://reviews.llvm.org/D39697" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D39697</a><br>
><br>
> Files:<br>
> lld/ELF/InputFiles.cpp<br>
><br>
><br>
> Index: lld/ELF/InputFiles.cpp<br>
> ==============================<wbr>==============================<wbr>=======<br>
> --- lld/ELF/InputFiles.cpp<br>
> +++ lld/ELF/InputFiles.cpp<br>
> @@ -809,13 +809,15 @@<br>
> // files because the loader takes care of it. However, if we promote a<br>
> // DSO symbol to point to .bss due to copy relocation, we need to keep<br>
> // the original alignment requirements. We infer it here.<br>
> - uint32_t Alignment = 1;<br>
> + uint64_t Alignment = 1;<br>
> if (Sym.st_value)<br>
> Alignment = 1ULL << countTrailingZeros((uint64_t)<wbr>Sym.st_value);<br>
> if (0 < Sym.st_shndx && Sym.st_shndx < Sections.size()) {<br>
> - uint32_t SecAlign = Sections[Sym.st_shndx].sh_<wbr>addralign;<br>
> + uint64_t SecAlign = Sections[Sym.st_shndx].sh_<wbr>addralign;<br>
> Alignment = std::min(Alignment, SecAlign);<br>
> }<br>
> + if (Alignment > UINT32_MAX)<br>
> + error(toString(this) + ": alignment too large: " + Name);<br>
<br>
</div></div>LGTM, but can you add a testcase?<br>
<br>
Thanks,<br>
Rafael<br>
</blockquote></div><br></div>