HomePhabricator

reland "[lld-link] implement -start-lib and -end-lib"

Description

reland "[lld-link] implement -start-lib and -end-lib"

Summary:
This is a re-land of r370487 with a fix for the use-after-free bug
that rev contained.

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.

Reviewers: ruiu, smeenai, MaskRay

Reviewed By: ruiu, MaskRay

Subscribers: akhuang, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66848

Details

Committed
inglorionSep 3 2019, 1:32 PM
Reviewer
ruiu
Differential Revision
D66848: [lld-link] implement -start-lib and -end-lib
Parents
rL370815: Request commit access for paulhoad
Branches
Unknown
Tags
Unknown