<div dir="ltr"><span class="im"><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">The header of libuser32b.a says that it defines MessageBoxB and
__imp_MessageBoxB, but the import library file in the archive actually
defines MessageBoxA (not B). So the archive file is broken. You may want
to fix the header and try again.</blockquote></span><div>Yes this is how I done the alias.<br></div><div><br></div><div>If you consider this invalid then look at libuser32.a<br></div><div>The header defines MessageBoxA and __imp_MessageBoxB.<br></div>This should be valid yes ?<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 13, 2015 at 6:19 AM, Rui Ueyama <span dir="ltr"><<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>The header of libuser32b.a says that it defines MessageBoxB and __imp_MessageBoxB, but the import library file in the archive actually defines MessageBoxA (not B). So the archive file is broken. You may want to fix the header and try again.</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 13, 2015 at 2:04 PM, Martell Malone <span dir="ltr"><<a href="mailto:martellmalone@gmail.com" target="_blank">martellmalone@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div>Hi Rui,<br><br></div>I have finished my tool to generate short import libs for mingw-w64.<br><br></div>It works fine with lld for actual symbols.<br></div>But it seems lld segfaults when I try to use and an alias as we discussed before.<br><br></div>I have attached 3 import libraries.<br></div>They all only have 1 import function.<br><br></div>libuser32orig.a -> Works fine and only has MessageBoxA<br><br></div>libuser32b.a -> the symbol table has MessageBoxB and __imp_MessageBoxB but the Import object has MessageBoxA.user32.dll.<br><br></div>This causes a segfault in lld but should link correctly right ?<br></div><div><br></div>Additionally I have attached libuser32.a<br>This is the same as libuser32b.a but the symbol table has MessageBoxA and __imp_MessageBoxB rather then MessageBoxB and __imp_MessageBoxB<br><br></div><div>This also segfaults I assume due to the same bug.<br><br></div>The reason I created this iteration is because we should be able to in the import library just add extra __imp_{alias} to the symbol tables that point to the original import of MessageBoxA.<br><br></div><div>Other then alias support the only difference between my new tool and lib.exe is that I don't bother to create .debug sections as we don't need them.<br></div><br>Kind Regards<span><font color="#888888"><br></font></span></div><span><font color="#888888">Martell<br></font></span></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>