[PATCH] D89891: [llvm-ar][Object] Fix detection of need for 64-bit archive symbol tables
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 22 05:11:30 PDT 2020
grimar added inline comments.
================
Comment at: llvm/lib/Object/ArchiveWriter.cpp:610
+ raw_svector_ostream SymtabHeader(SymtabHeaderBuf);
+ writeSymbolTableHeader(SymtabHeader, Kind, Deterministic, SymtabSize);
+
----------------
grimar wrote:
> grimar wrote:
> > andrewng wrote:
> > > grimar wrote:
> > > > I was a bit confused when saw `writeSymbolTableHeader` here.
> > > > `Kind` can be changed below:
> > > >
> > > > ```
> > > > if (LastOffset >= (1ULL << Sym64Threshold)) {
> > > > if (Kind == object::Archive::K_DARWIN)
> > > > Kind = object::Archive::K_DARWIN64;
> > > > else
> > > > Kind = object::Archive::K_GNU64;
> > > > }
> > > > ```
> > > >
> > > > I think would be more natural to call `writeSymbolTableHeader` after last possible modification of `Kind`, i.e. after this code block. Is it possible?
> > > This call to `writeSymbolTableHeader` is purely used to determine the size of the header and is not a write to the output which happens later.
> > This wasn't addressed?
> >
> > aside: could you please mask addressed comments as "Done"? So that reviewers can see the status.
> mask -> mark
> This call to writeSymbolTableHeader is purely used to determine the size of the header and is not a write to the output which happens later.
`writeSymbolTableHeader` still uses `Kind`. It is just not clean to give it one `Kind` and change it to another later.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89891/new/
https://reviews.llvm.org/D89891
More information about the llvm-commits
mailing list