[PATCH] D27711: ELF/AArch64: Fix dynamic relocation against local symbol in shared objects

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 13 08:34:11 PST 2016


Adhemerval Zanella via Phabricator <reviews at reviews.llvm.org> writes:

> Index: ELF/Relocations.cpp
> ===================================================================
> --- ELF/Relocations.cpp
> +++ ELF/Relocations.cpp
> @@ -154,8 +154,9 @@
>        Config->Shared) {
>      if (In<ELFT>::Got->addDynTlsEntry(Body)) {
>        uintX_t Off = In<ELFT>::Got->getGlobalDynOffset(Body);
> +      bool UseSymVA = Target->useSymVAForTls(Body);
>        In<ELFT>::RelaDyn->addReloc(
> -          {Target->TlsDescRel, In<ELFT>::Got, Off, false, &Body, 0});
> +          {Target->TlsDescRel, In<ELFT>::Got, Off, UseSymVA, &Body, 0});
>      }

It is not clear that you need the virtual method. What cases fail if you
just always use the symbol VA?

I.E., isn't it just a bug that we have a false in there instead of true?

Cheers,
Rafael


More information about the llvm-commits mailing list