Configuration *Config;
LinkerDriver *Driver;
-void link(llvm::ArrayRef<const char *> Args) {
+bool link(llvm::ArrayRef<const char *> Args) {
Configuration C;
LinkerDriver D;
Config = &C;
Driver = &D;
- return Driver->link(Args);
+ Driver->link(Args);
+ return true;
}
// Drop directory components and replace extension with ".exe".
class InputFile;
// Entry point of the COFF linker.
-void link(llvm::ArrayRef<const char *> Args);
+bool link(llvm::ArrayRef<const char *> Args);
// Implemented in MarkLive.cpp.
void markLive(const std::vector<Chunk *> &Chunks);
std::vector<const char *> Args(Argv, Argv + Argc);
switch (parseFlavor(Args)) {
case Gnu:
- return !elf::link(Args, errs());
+ return !elf::link(Args);
case WinLink:
- coff::link(Args);
- return 0;
+ return !coff::link(Args);
case Darwin:
- return !DarwinLdDriver::linkMachO(Args, errs());
+ return !DarwinLdDriver::linkMachO(Args);
case Core:
- return !CoreDriver::link(Args, errs());
+ return !CoreDriver::link(Args);
default:
die("-flavor option is missing. Available flavors are "
"gnu, darwin or link.");