[PATCH] Add observers to Input Graph

Rui Ueyama ruiu at google.com
Mon May 12 20:32:22 PDT 2014


Hi Bigcheese, ruiu, shankarke,

Make it possible to add observers to an Input Graph, so that files
returned from an Input Graph can be examined before they are
passed to Resolver.

To implement some PE/COFF features we need to know all the symbols
that *can* be solved, including ones in archive files that are not
yet to be read.

Currently, Resolver only maintains a set of symbols that are
already read. It has no knowledge on symbols in skipped files in
an archive file.

There are many ways to implement that. I chose to apply the
observer pattern here because it seems most non-intrusive. We don't
want to mess up Resolver with architecture specific features.
Even in PE/COFF, the feature that needs this mechanism is minor.
So I chose not to modify Resolver, but add a hook to Input Graph.

http://reviews.llvm.org/D3735

Files:
  include/lld/Core/ArchiveLibraryFile.h
  include/lld/Core/InputGraph.h
  lib/Core/InputGraph.cpp
  lib/ReaderWriter/FileArchive.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3735.9331.patch
Type: text/x-patch
Size: 3562 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140513/6b59510f/attachment.bin>


More information about the llvm-commits mailing list