summaryrefslogtreecommitdiff
path: root/llvm/tools
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/lli/lli.cpp3
-rw-r--r--llvm/tools/llvm-ar/llvm-ar.cpp33
2 files changed, 18 insertions, 18 deletions
diff --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp
index 42bea1a6487f..3fd2a618bf1a 100644
--- a/llvm/tools/lli/lli.cpp
+++ b/llvm/tools/lli/lli.cpp
@@ -291,7 +291,8 @@ namespace {
LLVM_ATTRIBUTE_USED void linkComponents() {
errs() << (void *)&llvm_orc_registerEHFrameSectionWrapper
<< (void *)&llvm_orc_deregisterEHFrameSectionWrapper
- << (void *)&llvm_orc_registerJITLoaderGDBWrapper;
+ << (void *)&llvm_orc_registerJITLoaderGDBWrapper
+ << (void *)&llvm_orc_registerJITLoaderGDBAllocAction;
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index 1d4a8e9cd398..4ffc5cf337a2 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -68,9 +68,9 @@ static StringRef ToolName;
static StringRef Stem;
static void printRanLibHelp(StringRef ToolName) {
- outs() << "OVERVIEW: LLVM Ranlib\n\n"
- << "This program generates an index to speed access to archives\n\n"
- << "USAGE: " + ToolName + " <archive-file>\n\n"
+ outs() << "OVERVIEW: LLVM ranlib\n\n"
+ << "Generate an index for archives\n\n"
+ << "USAGE: " + ToolName + " archive...\n\n"
<< "OPTIONS:\n"
<< " -h --help - Display available options\n"
<< " -v --version - Display the version of this program\n"
@@ -1125,8 +1125,7 @@ static void performOperation(ArchiveOperation Operation,
llvm_unreachable("Unknown operation.");
}
-static int performOperation(ArchiveOperation Operation,
- std::vector<NewArchiveMember> *NewMembers) {
+static int performOperation(ArchiveOperation Operation) {
// Create or open the archive object.
ErrorOr<std::unique_ptr<MemoryBuffer>> Buf = MemoryBuffer::getFile(
ArchiveName, /*IsText=*/false, /*RequiresNullTerminator=*/false);
@@ -1145,7 +1144,7 @@ static int performOperation(ArchiveOperation Operation,
if (Archive->isThin())
CompareFullPath = true;
performOperation(Operation, Archive.get(), std::move(Buf.get()),
- NewMembers);
+ /*NewMembers=*/nullptr);
return 0;
}
@@ -1160,7 +1159,7 @@ static int performOperation(ArchiveOperation Operation,
}
}
- performOperation(Operation, nullptr, nullptr, NewMembers);
+ performOperation(Operation, nullptr, nullptr, /*NewMembers=*/nullptr);
return 0;
}
@@ -1403,12 +1402,11 @@ static int ar_main(int argc, char **argv) {
Options += *ArgIt + 1;
}
- ArchiveOperation Operation = parseCommandLine();
- return performOperation(Operation, nullptr);
+ return performOperation(parseCommandLine());
}
static int ranlib_main(int argc, char **argv) {
- bool ArchiveSpecified = false;
+ std::vector<StringRef> Archives;
for (int i = 1; i < argc; ++i) {
StringRef arg(argv[i]);
if (handleGenericOption(arg)) {
@@ -1433,16 +1431,17 @@ static int ranlib_main(int argc, char **argv) {
arg = arg.drop_front(1);
}
} else {
- if (ArchiveSpecified)
- fail("exactly one archive should be specified");
- ArchiveSpecified = true;
- ArchiveName = arg.str();
+ Archives.push_back(arg);
}
}
- if (!ArchiveSpecified) {
- badUsage("an archive name must be specified");
+
+ for (StringRef Archive : Archives) {
+ ArchiveName = Archive.str();
+ performOperation(CreateSymTab);
}
- return performOperation(CreateSymTab, nullptr);
+ if (Archives.empty())
+ badUsage("an archive name must be specified");
+ return 0;
}
int llvm_ar_main(int argc, char **argv) {