[PATCH] D35724: [ELF] - Fix missing relocation when linking executable with --unresolved-symbols=ignore-all

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 31 11:59:05 PDT 2017


>>The change in this patch is to add "!symbol()->isWeak();"
>>above. Shouldn't this case have been handled by includeInDynsym two ifs above?
>
> Not for --export-dynamic case. includeInDynsym() will return true earlier.

Than is a bug in includeInDynsym. I fixed it in r309605.

If you rebase this patch on top of that I think you can just change

   if (body()->isUndefined())
-    return Config->Shared;
+    return Config->Shared || !body()->symbol()->isWeak();

in includeInDynsym on top of the previous version of the patch.

Cheers,
Rafael


More information about the llvm-commits mailing list