[PATCH] D66848: [lld-link] implement -start-lib and -end-lib

Bob Haarman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 17:17:11 PDT 2019


inglorion created this revision.
inglorion added reviewers: ruiu, smeenai, MaskRay.
Herald added a project: LLVM.
inglorion planned changes to this revision.
inglorion added a comment.

Seeing the code here, I see I still need to handle LazyObject in symbol resolution.


This implements -start-lib and -end-lib flags for lld-link, analogous
to the similarly named options in ld.lld. Object files after
-start-lib are included in the link only when needed to resolve
undefined symbols. The -end-lib flag goes back to the normal behavior
of always including object files in the link. This mimics the
semantics of static libraries, but without needing to actually create
the archive file.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D66848

Files:
  lld/COFF/DebugTypes.cpp
  lld/COFF/Driver.cpp
  lld/COFF/Driver.h
  lld/COFF/InputFiles.cpp
  lld/COFF/InputFiles.h
  lld/COFF/Options.td
  lld/COFF/SymbolTable.cpp
  lld/COFF/SymbolTable.h
  lld/COFF/Symbols.cpp
  lld/COFF/Symbols.h
  lld/COFF/Writer.cpp
  lld/test/COFF/Inputs/start-lib1.ll
  lld/test/COFF/Inputs/start-lib2.ll
  lld/test/COFF/start-lib-cmd-diagnostics.ll
  lld/test/COFF/start-lib.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66848.217536.patch
Type: text/x-patch
Size: 25425 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190828/a913e476/attachment-0001.bin>


More information about the llvm-commits mailing list