1. Make it possible to redirect not only errs() but also outs() (details)
Commit b11386f9be9b2dc7276a758d64f66833da10bdea by ruiu
Make it possible to redirect not only errs() but also outs()
This change is for those who use lld as a library. Context:
This patch adds a new parmeter to lld::*::link() so that we can pass an
raw_ostream object representing stdout. Previously, lld::*::link() took
only an stderr object.
Justification for making stdoutOS and stderrOS mandatory: I wanted to
make link() functions to take stdout and stderr in that order. However,
if we change the function signature from
  bool link(ArrayRef<const char *> args, bool canExitEarly,
           raw_ostream &stderrOS = llvm::errs());
  bool link(ArrayRef<const char *> args, bool canExitEarly,
           raw_ostream &stdoutOS = llvm::outs(),
           raw_ostream &stderrOS = llvm::errs());
, then the meaning of existing code that passes stderrOS silently
changes (stderrOS would be interpreted as stdoutOS). So, I chose to make
existing code not to compile, so that developers can fix their code.
Differential Revision:
The file was modifiedlld/lib/Driver/DarwinLdDriver.cpp
The file was modifiedlld/Common/ErrorHandler.cpp
The file was modifiedlld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
The file was modifiedlld/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp
The file was modifiedlld/COFF/DriverUtils.cpp
The file was modifiedlld/lib/Core/SymbolTable.cpp
The file was modifiedlld/tools/lld/lld.cpp
The file was modifiedlld/lib/ReaderWriter/FileArchive.cpp
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
The file was modifiedlld/MinGW/Driver.cpp
The file was modifiedlld/include/lld/Common/Driver.h
The file was modifiedlld/lib/ReaderWriter/MachO/LayoutPass.cpp
The file was modifiedlld/include/lld/Common/LLVM.h
The file was modifiedlld/ELF/DriverUtils.cpp
The file was modifiedlld/ELF/MapFile.cpp
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/COFF/Writer.cpp
The file was modifiedlld/include/lld/Common/ErrorHandler.h
The file was modifiedlld/lib/Core/Resolver.cpp