OSDN Git Service

[llvm-objdump] Move --start-address >= --stop-address check out of the
authorYuanfang Chen <yuanfang.chen@sony.com>
Sat, 22 Jun 2019 00:22:57 +0000 (00:22 +0000)
committerYuanfang Chen <yuanfang.chen@sony.com>
Sat, 22 Jun 2019 00:22:57 +0000 (00:22 +0000)
-d code.

Summary:
Move it into `main` function so the checking is effective for all actions
user may do with llvm-objdump; notably, -r and -s in addition to existing -d.

Match GNU behavior.

Reviewers: jhenderson, grimar, MaskRay, rupprecht

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63631

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364118 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-objdump/X86/start-stop-address.test
tools/llvm-objdump/llvm-objdump.cpp

index 3f76e79..3ce57fd 100644 (file)
@@ -67,6 +67,6 @@
 
 // OUT-OF-RANGE-NOT: Disassembly
 
-// RUN: not llvm-objdump -d %t.out --start-address=0x40 --stop-address=0x3f 2>&1 | FileCheck %s --check-prefix ERRMSG
-// RUN: not llvm-objdump -d %t.out --start-address=0x40 --stop-address=0x40 2>&1 | FileCheck %s --check-prefix ERRMSG
+// RUN: not llvm-objdump %t.out --start-address=0x40 --stop-address=0x3f 2>&1 | FileCheck %s --check-prefix ERRMSG
+// RUN: not llvm-objdump %t.out --start-address=0x40 --stop-address=0x40 2>&1 | FileCheck %s --check-prefix ERRMSG
 // ERRMSG: start address should be less than stop address.
index fc3acb4..23c25d5 100644 (file)
@@ -1453,9 +1453,6 @@ static void disassembleObject(const Target *TheTarget, const ObjectFile *Obj,
 }
 
 static void disassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
-  if (StartAddress >= StopAddress)
-    error("start address should be less than stop address");
-
   const Target *TheTarget = getTarget(Obj);
 
   // Package up features to be passed to target/subtarget
@@ -2116,6 +2113,9 @@ int main(int argc, char **argv) {
 
   cl::ParseCommandLineOptions(argc, argv, "llvm object file dumper\n");
 
+  if (StartAddress >= StopAddress)
+    error("start address should be less than stop address");
+
   ToolName = argv[0];
 
   // Defaults to a.out if no filenames specified.