[PATCH] D78389: [ELF] Keep local symbols when both --emit-relocs and --discard-all are specified

Igor Kudrin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 18 02:08:23 PDT 2020


ikudrin added inline comments.


================
Comment at: lld/ELF/Writer.cpp:649-650
   // copied because they may be referenced by relocations.
   if (config->emitRelocs)
     return true;
 
----------------
MaskRay wrote:
> ikudrin wrote:
> > For the purpose of this fix, it would be simpler to extend the condition at the beginning of `getDiscard()` in `Driver.cpp` and remove this condition. The other changes are not required.
> Do you mean
> ```
> -  if (args.hasArg(OPT_relocatable))
> + if (args.hasArg(OPT_relocatable) || config->emitRelocs)
>     return DiscardPolicy::None;
> ```
> 
> ? That would increase the amount of differences for D77807.
Yes, that is true, but I believe that every patch should solve its issue in the right way and the change in `Driver.cpp` looks like that. We emit relocations in two cases, `-r` and `--emit-relocs`, and both of them should be handled similarly.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D78389/new/

https://reviews.llvm.org/D78389





More information about the llvm-commits mailing list