Index: llvm/trunk/test/tools/llvm-objcopy/help-message.test =================================================================== --- llvm/trunk/test/tools/llvm-objcopy/help-message.test +++ llvm/trunk/test/tools/llvm-objcopy/help-message.test @@ -0,0 +1,8 @@ +# RUN: llvm-objcopy --help | FileCheck --check-prefix=CHECK-OBJCOPY %s +# RUN: not llvm-objcopy 2>&1 | FileCheck --check-prefix=CHECK-OBJCOPY %s + +# RUN: llvm-strip --help | FileCheck --check-prefix=CHECK-STRIP %s +# RUN: not llvm-strip 2>&1 | FileCheck --check-prefix=CHECK-STRIP %s + +# CHECK-OBJCOPY: USAGE: llvm-objcopy +# CHECK-STRIP: USAGE: llvm-strip Index: llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp =================================================================== --- llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp +++ llvm/trunk/tools/llvm-objcopy/llvm-objcopy.cpp @@ -409,8 +409,13 @@ unsigned MissingArgumentIndex, MissingArgumentCount; llvm::opt::InputArgList InputArgs = T.ParseArgs(ArgsArr, MissingArgumentIndex, MissingArgumentCount); - - if (InputArgs.size() == 0 || InputArgs.hasArg(OBJCOPY_help)) { + + if (InputArgs.size() == 0) { + T.PrintHelp(errs(), "llvm-objcopy [ ]", "objcopy tool"); + exit(1); + } + + if (InputArgs.hasArg(OBJCOPY_help)) { T.PrintHelp(outs(), "llvm-objcopy [ ]", "objcopy tool"); exit(0); } @@ -484,7 +489,12 @@ llvm::opt::InputArgList InputArgs = T.ParseArgs(ArgsArr, MissingArgumentIndex, MissingArgumentCount); - if (InputArgs.size() == 0 || InputArgs.hasArg(STRIP_help)) { + if (InputArgs.size() == 0) { + T.PrintHelp(errs(), "llvm-strip [ ]", "strip tool"); + exit(1); + } + + if (InputArgs.hasArg(STRIP_help)) { T.PrintHelp(outs(), "llvm-strip [ ]", "strip tool"); exit(0); }