[Lldb-commits] [PATCH] D54747: Discard debuginfo for object files empty after GC

Robert O'Callahan via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 25 13:07:41 PDT 2019


rocallahan marked 2 inline comments as done.
rocallahan added inline comments.


================
Comment at: lld/ELF/MarkLive.cpp:190
 
+template <class ELFT> static void setSectionLive(InputSectionBase *Sec) {
+  Sec->Live = true;
----------------
ruiu wrote:
> Since this file is MarkLive, markSection is perhaps a better name.
OK


================
Comment at: lld/ELF/MarkLive.cpp:192
+  Sec->Live = true;
+  if (Sec->kind() != SectionBase::Kind::Regular &&
+      Sec->kind() != SectionBase::Kind::Merge)
----------------
ruiu wrote:
> rocallahan wrote:
> > MaskRay wrote:
> > > This check can be changed to `!isa<InputSection> && !isa<MergeInputSection>`. But do you just want to exclude `EhInputSection`?
> > Shouldn't I also be excluding `SyntheticSection`?
> This needs a comment.
> 
> Do you have to visit each file during the mark phase? Looks like you can mark only sections first, and after marking all sections, you can scan all sections to mark files. Looks like they can be two separate stages.
Maybe I'm wrong but I would have expected adding another pass over all sections to be slower than what I'm doing here.

Also we need to distinguish LSDA sections from other live sections since LSDA does not count as "making the file live". So we'd have to add an LSDA flag to `InputSection`.

Are you sure you want me to make this change?

Also I just noticed I've written LDSA in several places where it should be LSDA!


Repository:
  rLLD LLVM Linker

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

https://reviews.llvm.org/D54747





More information about the lldb-commits mailing list