[PECOFF] Make a separate pass for /alternatename symbols.
/alternatename is a command line option to define a weak alias. You can use it as /alternatename:foo=bar to define "foo" as a weak alias for "bar". Because it's a command line option, the weak alias mapping is in the LinkingContext object, and not in a object file being read. Previously, we looked up the mapping each time we read a new symbol from a file, to check if there is a weak alias defined for the symbol. That's not wrong, but had made function signature's a bit complicated -- we had to pass the mapping object to many functions. Now their parameter lists are much cleaner. This also has another (unrealized) benefit. parseFile() now read a file and then add alias symbols to the file. In the first pass a LinkingContext object is not used at all. That should make it easy to read files from archive files speculatively, as the first pass is free from side effect. llvm-svn: 209486
Loading
Please register or sign in to comment