[lld] Fix --exclude-libs broken when --whole-archive is used
Summary: **Problem** `--exclude-libs` does not work for static libraries affected by the `--whole-archive` option. **Description** `--exclude-libs` creates a list of static library paths and does library lookups in this list. `--whole-archive` splits the static libraries that follow it into separate objects. As a result, lld no longer sees static libraries among linked files and does no `--exclude-libs` lookups. **Solution** The proposed solution is to make `--exclude-libs` consider object files too. When lld finds an object file it checks whether this file originates from an archive and, if so, looks the archive up in the `--exclude-libs` list. Reviewers: ruiu, rafael Reviewed By: ruiu Subscribers: asl, ikudrin, llvm-commits, emaste Tags: #lld Differential Revision: https://reviews.llvm.org/D39353 llvm-svn: 316998
Loading
Please register or sign in to comment