[PATCH] D158124: [dsymutil] Add support for mergeable libraries

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 28 07:57:47 PDT 2023


avl added a comment.

Thank you for the update!

I have a general question - Could you measure difference with run-time memory requirements with and without this patch, please?



================
Comment at: llvm/lib/DWARFLinker/DWARFLinker.cpp:1787
+                       AttrInfo, IsLittleEndian);
+    if (FinalAttrSize != 0) {
+      AttributesFixups.push_back(CurAttrFixup);
----------------
Alpha wrote:
> avl wrote:
> > it would be good to add check for ObjFile.Addresses->getLibraryInstallName() here to not collect AttributeLinkedOffsetFixup if not necessary:
> > 
> > 
> > ```
> > std::optional<StringRef> LibraryInstallName = ObjFile.Addresses->getLibraryInstallName();
> > .....
> > if (FinalAttrSize != 0 && LibraryInstallName.has_value()) {
> > ```
> Hmm, we also need t have the fixups/relocs saved, even if we're dealing with regular object files, as we still need to always save the relocations, regardless of the type of input file.
Before this patch dsymutil did not store fixup/relocs for regular files. Is that correct that this information would stored for usual files(not mergeable libraries) after this patch?


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

https://reviews.llvm.org/D158124



More information about the llvm-commits mailing list