summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2019-10-03 12:07:07 +0000
committerSimon Atanasyan <simon@atanasyan.com>2019-10-03 12:07:07 +0000
commit952d71b7945650184562c0b09c59e3c81c8301e1 (patch)
treeb580412d11be52a6bc1b1e84efdc469aa8688050
parent8c6bed43969a851b268cce69e5dd876d7df1a516 (diff)
downloadbcm5719-llvm-952d71b7945650184562c0b09c59e3c81c8301e1.tar.gz
bcm5719-llvm-952d71b7945650184562c0b09c59e3c81c8301e1.zip
[llvm-readobj][mips] Display MIPS specific info under --arch-specific flag
Old options `--mips-plt-got`, `--mips-abi-flags`, '--mips-reginfo`, and `--mips-options` wiil be deleted in a separate patch. llvm-svn: 373588
-rw-r--r--llvm/test/tools/llvm-readobj/mips-got-overlapped.test4
-rw-r--r--llvm/test/tools/llvm-readobj/mips-got.test20
-rw-r--r--llvm/test/tools/llvm-readobj/mips-options-sec.test2
-rw-r--r--llvm/test/tools/llvm-readobj/mips-plt.test4
-rw-r--r--llvm/test/tools/llvm-readobj/mips-reginfo.test2
-rw-r--r--llvm/tools/llvm-readobj/llvm-readobj.cpp9
6 files changed, 24 insertions, 17 deletions
diff --git a/llvm/test/tools/llvm-readobj/mips-got-overlapped.test b/llvm/test/tools/llvm-readobj/mips-got-overlapped.test
index 85c4fe2d67c..881c63b79a4 100644
--- a/llvm/test/tools/llvm-readobj/mips-got-overlapped.test
+++ b/llvm/test/tools/llvm-readobj/mips-got-overlapped.test
@@ -1,9 +1,9 @@
-# Check that llvm-readobj --mips-plt-got correctly shows .got section
+# Check that llvm-readobj -A correctly shows .got section
# content if there are some other zero-sized sections with the same
# address as the .got. got-over.exe.elf-mips has zero-sized .data
# section at the same offset .got section.
-RUN: llvm-readobj --mips-plt-got %p/Inputs/got-over.exe.elf-mips | FileCheck %s
+RUN: llvm-readobj -A %p/Inputs/got-over.exe.elf-mips | FileCheck %s
GOT-OBJ: Cannot find PLTGOT dynamic table tag.
diff --git a/llvm/test/tools/llvm-readobj/mips-got.test b/llvm/test/tools/llvm-readobj/mips-got.test
index 6fc162ae5c6..8ed35d4b68e 100644
--- a/llvm/test/tools/llvm-readobj/mips-got.test
+++ b/llvm/test/tools/llvm-readobj/mips-got.test
@@ -1,23 +1,23 @@
-RUN: llvm-readobj --mips-plt-got %p/Inputs/dynamic-table-exe.mips | \
+RUN: llvm-readobj -A %p/Inputs/dynamic-table-exe.mips | \
RUN: FileCheck %s -check-prefix GOT-EXE
-RUN: llvm-readobj --mips-plt-got %p/Inputs/dynamic-table-so.mips | \
+RUN: llvm-readobj -A %p/Inputs/dynamic-table-so.mips | \
RUN: FileCheck %s -check-prefix GOT-SO
-RUN: llvm-readobj --mips-plt-got %p/Inputs/got-tls.so.elf-mips64el | \
+RUN: llvm-readobj -A %p/Inputs/got-tls.so.elf-mips64el | \
RUN: FileCheck %s -check-prefix GOT-TLS
-RUN: llvm-readobj --mips-plt-got %p/Inputs/got-empty.exe.mipsel | \
+RUN: llvm-readobj -A %p/Inputs/got-empty.exe.mipsel | \
RUN: FileCheck %s -check-prefix GOT-EMPTY
-RUN: llvm-readobj --mips-plt-got %p/Inputs/got-static.exe.mips | \
+RUN: llvm-readobj -A %p/Inputs/got-static.exe.mips | \
RUN: FileCheck %s -check-prefix GOT-STATIC
-RUN: llvm-readelf --mips-plt-got %p/Inputs/dynamic-table-exe.mips | \
+RUN: llvm-readelf -A %p/Inputs/dynamic-table-exe.mips | \
RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-EXE
-RUN: llvm-readelf --mips-plt-got %p/Inputs/dynamic-table-so.mips | \
+RUN: llvm-readelf -A %p/Inputs/dynamic-table-so.mips | \
RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-SO
-RUN: llvm-readelf --mips-plt-got %p/Inputs/got-tls.so.elf-mips64el | \
+RUN: llvm-readelf -A %p/Inputs/got-tls.so.elf-mips64el | \
RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-TLS
-RUN: llvm-readelf --mips-plt-got %p/Inputs/got-empty.exe.mipsel | \
+RUN: llvm-readelf -A %p/Inputs/got-empty.exe.mipsel | \
RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-EMPTY
-RUN: llvm-readelf --mips-plt-got %p/Inputs/got-static.exe.mips | \
+RUN: llvm-readelf -A %p/Inputs/got-static.exe.mips | \
RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-STATIC
GOT-EXE: Primary GOT {
diff --git a/llvm/test/tools/llvm-readobj/mips-options-sec.test b/llvm/test/tools/llvm-readobj/mips-options-sec.test
index 64b3f0e9179..3636d56cfe6 100644
--- a/llvm/test/tools/llvm-readobj/mips-options-sec.test
+++ b/llvm/test/tools/llvm-readobj/mips-options-sec.test
@@ -1,4 +1,4 @@
-RUN: llvm-readobj --mips-options %p/Inputs/options.obj.elf-mipsel | FileCheck %s
+RUN: llvm-readobj -A %p/Inputs/options.obj.elf-mipsel | FileCheck %s
CHECK: MIPS Options {
CHECK-NEXT: ODK_REGINFO {
diff --git a/llvm/test/tools/llvm-readobj/mips-plt.test b/llvm/test/tools/llvm-readobj/mips-plt.test
index b130a67d044..4e40ca6aa2c 100644
--- a/llvm/test/tools/llvm-readobj/mips-plt.test
+++ b/llvm/test/tools/llvm-readobj/mips-plt.test
@@ -1,5 +1,5 @@
-RUN: llvm-readobj --mips-plt-got %p/Inputs/got-plt.exe.elf-mipsel | FileCheck %s
-RUN: llvm-readelf --mips-plt-got %p/Inputs/got-plt.exe.elf-mipsel | FileCheck --check-prefix=GNU %s
+RUN: llvm-readobj -A %p/Inputs/got-plt.exe.elf-mipsel | FileCheck %s
+RUN: llvm-readelf -A %p/Inputs/got-plt.exe.elf-mipsel | FileCheck --check-prefix=GNU %s
CHECK: PLT GOT {
CHECK-NEXT: Reserved entries [
diff --git a/llvm/test/tools/llvm-readobj/mips-reginfo.test b/llvm/test/tools/llvm-readobj/mips-reginfo.test
index 7571d4c56bf..20177a99d8c 100644
--- a/llvm/test/tools/llvm-readobj/mips-reginfo.test
+++ b/llvm/test/tools/llvm-readobj/mips-reginfo.test
@@ -1,4 +1,4 @@
-RUN: llvm-readobj --mips-reginfo %p/Inputs/reginfo.obj.elf-mipsel | FileCheck %s
+RUN: llvm-readobj -A %p/Inputs/reginfo.obj.elf-mipsel | FileCheck %s
CHECK: MIPS RegInfo {
CHECK-NEXT: GP: 0x7FEF
diff --git a/llvm/tools/llvm-readobj/llvm-readobj.cpp b/llvm/tools/llvm-readobj/llvm-readobj.cpp
index 5919a7eed3e..2e3041fed18 100644
--- a/llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ b/llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -519,9 +519,16 @@ static void dumpObject(const ObjectFile *Obj, ScopedPrinter &Writer,
if (Obj->isELF()) {
if (opts::ELFLinkerOptions)
Dumper->printELFLinkerOptions();
- if (opts::ArchSpecificInfo)
+ if (opts::ArchSpecificInfo) {
if (Obj->getArch() == llvm::Triple::arm)
Dumper->printAttributes();
+ else if (isMipsArch(Obj->getArch())) {
+ Dumper->printMipsABIFlags();
+ Dumper->printMipsOptions();
+ Dumper->printMipsReginfo();
+ Dumper->printMipsPLTGOT();
+ }
+ }
if (isMipsArch(Obj->getArch())) {
if (opts::MipsPLTGOT)
Dumper->printMipsPLTGOT();
OpenPOWER on IntegriCloud