I have implemented "--trace-symbol=symbol" (alias -y symbol) option.
This option provides names of all the link time modules which define and reference symbols requested by user. This helps to speed up application development by detecting references causing undefined symbols. It also helps in detecting symbols being resolved to wrong (unintended) definitions in case of applications containing multiple definitions for same symbols with different types, bindings.
Implementation contains symbols from object files, shared and archive libraries and executable.
Bugzilla - Bug - PR#28226
subversion revision in lld trunk on which this patch is created: #273248
Patch by Shridhar Joshi
Use StringSet<> instead. I'd name this TraceSymbol since all members in Config class are named after their corresponding command line options.