summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2019-02-28 22:42:55 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2019-02-28 22:42:55 +0000
commitac136cd18c55c1a5d6884b868b460a5439dd3a52 (patch)
treeab7a378dc17ebebf3b47db216e48f19a628324b4 /llvm/test/tools
parentb7812652c6f76045884ac4ee45a315e63c905302 (diff)
downloadbcm5719-llvm-ac136cd18c55c1a5d6884b868b460a5439dd3a52.tar.gz
bcm5719-llvm-ac136cd18c55c1a5d6884b868b460a5439dd3a52.zip
llvm-readobj: Try the DWARF CFI dumper on all machines.
There's no reason to limit the DWARF CFI dumper to EM_386 and EM_X86_64; ELF files could contain DWARF CFI on almost any platform (even 32-bit ARM; NetBSD uses DWARF CFI on that platform). So start using the DWARF CFI dumper unconditionally so that we can dump .eh_frame sections on the remaining ELF platforms as well as in NetBSD binaries. Differential Revision: https://reviews.llvm.org/D58761 llvm-svn: 355151
Diffstat (limited to 'llvm/test/tools')
-rw-r--r--llvm/test/tools/llvm-readobj/AArch64/dwarf-cfi.s25
-rw-r--r--llvm/test/tools/llvm-readobj/AArch64/lit.local.cfg3
-rw-r--r--llvm/test/tools/llvm-readobj/ARM/dwarf-cfi.s27
3 files changed, 55 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/AArch64/dwarf-cfi.s b/llvm/test/tools/llvm-readobj/AArch64/dwarf-cfi.s
new file mode 100644
index 00000000000..f1295467876
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/AArch64/dwarf-cfi.s
@@ -0,0 +1,25 @@
+# RUN: llvm-mc -triple arm64-linux -filetype obj -o - %s | llvm-readobj -u | FileCheck %s
+
+# CHECK: [0x0] CIE length=16
+# CHECK-NEXT: version: 1
+# CHECK-NEXT: augmentation: zR
+# CHECK-NEXT: code_alignment_factor: 1
+# CHECK-NEXT: data_alignment_factor: -4
+# CHECK-NEXT: return_address_register: 30
+
+# CHECK: Program:
+# CHECK-NEXT: DW_CFA_def_cfa: reg31 +0
+
+# CHECK: [0x14] FDE length=16 cie=[0x0]
+# CHECK-NEXT: initial_location: 0x0
+# CHECK-NEXT: address_range: 0x4 (end : 0x4)
+
+# CHECK: Program:
+# CHECK-NEXT: DW_CFA_nop:
+# CHECK-NEXT: DW_CFA_nop:
+# CHECK-NEXT: DW_CFA_nop:
+
+foo:
+.cfi_startproc
+ret
+.cfi_endproc
diff --git a/llvm/test/tools/llvm-readobj/AArch64/lit.local.cfg b/llvm/test/tools/llvm-readobj/AArch64/lit.local.cfg
new file mode 100644
index 00000000000..cec29af5bbe
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/AArch64/lit.local.cfg
@@ -0,0 +1,3 @@
+if not 'AArch64' in config.root.targets:
+ config.unsupported = True
+
diff --git a/llvm/test/tools/llvm-readobj/ARM/dwarf-cfi.s b/llvm/test/tools/llvm-readobj/ARM/dwarf-cfi.s
new file mode 100644
index 00000000000..36d71d61c9f
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/ARM/dwarf-cfi.s
@@ -0,0 +1,27 @@
+# RUN: llvm-mc -triple arm-linux -filetype obj -o - %s | llvm-readobj -u | FileCheck %s
+
+# CHECK: [0x0] CIE length=16
+# CHECK-NEXT: version: 1
+# CHECK-NEXT: augmentation: zR
+# CHECK-NEXT: code_alignment_factor: 1
+# CHECK-NEXT: data_alignment_factor: -4
+# CHECK-NEXT: return_address_register: 14
+
+# CHECK: Program:
+# CHECK-NEXT: DW_CFA_def_cfa: reg13 +0
+
+# CHECK: [0x14] FDE length=16 cie=[0x0]
+# CHECK-NEXT: initial_location: 0x0
+# CHECK-NEXT: address_range: 0x4 (end : 0x4)
+
+# CHECK: Program:
+# CHECK-NEXT: DW_CFA_nop:
+# CHECK-NEXT: DW_CFA_nop:
+# CHECK-NEXT: DW_CFA_nop:
+
+.cpu cortex-a8
+
+foo:
+.cfi_startproc
+bx lr
+.cfi_endproc
OpenPOWER on IntegriCloud