aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2016-09-28 17:54:06 +0200
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2016-09-29 16:33:25 +0200
commit084303b8c636944564d7be3b85dde55e8c371e91 (patch)
tree80993d8ee34940a43773da8d03594584ffeb7775 /gas/testsuite
parenta5721ba270ddf860e0e5a45bba456214e8eac2be (diff)
downloadgdb-084303b8c636944564d7be3b85dde55e8c371e91.zip
gdb-084303b8c636944564d7be3b85dde55e8c371e91.tar.gz
gdb-084303b8c636944564d7be3b85dde55e8c371e91.tar.bz2
Add .cfi_val_offset GAS command.
This patch adds support for .cfi_val_offset GAS pseudo command which maps to DW_CFA_val_offset and DW_CFA_val_offset_sf. gas/ChangeLog: 2016-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * doc/as.texinfo: Add docu for .cfi_val_offset. * dw2gencfi.c (cfi_add_CFA_val_offset): New function. (dot_cfi): Add case for DW_CFA_val_offset. (output_cfi_insn): Likewise. (cfi_pseudo_table): Add entry for cfi_val_offset. * dw2gencfi.h: Add prototype for cfi_add_CFA_val_offset. * testsuite/gas/cfi/cfi-common-8.d: New test. * testsuite/gas/cfi/cfi-common-8.s: New test. * testsuite/gas/cfi/cfi.exp: Run cfi-common-8 testcase. binutils/ChangeLog: 2016-09-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * dwarf.c (display_debug_frames): Adjust output line.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/cfi/cfi-common-8.d23
-rw-r--r--gas/testsuite/gas/cfi/cfi-common-8.s6
-rw-r--r--gas/testsuite/gas/cfi/cfi.exp1
3 files changed, 30 insertions, 0 deletions
diff --git a/gas/testsuite/gas/cfi/cfi-common-8.d b/gas/testsuite/gas/cfi/cfi-common-8.d
new file mode 100644
index 0000000..6155690
--- /dev/null
+++ b/gas/testsuite/gas/cfi/cfi-common-8.d
@@ -0,0 +1,23 @@
+#objdump: -Wf
+#name: CFI common 8
+#...
+Contents of the .eh_frame section:
+
+00000000 0+0010 0+0000 CIE
+ Version: 1
+ Augmentation: "zR"
+ Code alignment factor: .*
+ Data alignment factor: .*
+ Return address column: .*
+ Augmentation data: [01]b
+
+ DW_CFA_nop
+ DW_CFA_nop
+ DW_CFA_nop
+
+00000014 0+00(18|1c|20) 0+0018 FDE cie=0+0000 pc=.*
+ DW_CFA_advance_loc: 4 to .*
+ DW_CFA_def_cfa: r0( \([er]ax\)|) ofs 16
+ DW_CFA_val_offset(_sf|): r1( \((rdx|ecx)\)|) is cfa\+8
+ DW_CFA_val_offset(_sf|): r2( \((rcx|edx)\)|) is cfa-32
+#...
diff --git a/gas/testsuite/gas/cfi/cfi-common-8.s b/gas/testsuite/gas/cfi/cfi-common-8.s
new file mode 100644
index 0000000..8477ff0
--- /dev/null
+++ b/gas/testsuite/gas/cfi/cfi-common-8.s
@@ -0,0 +1,6 @@
+ .cfi_startproc simple
+ .long 0
+ .cfi_def_cfa 0, 16
+ .cfi_val_offset 1, 8
+ .cfi_val_offset 2, -32
+ .cfi_endproc
diff --git a/gas/testsuite/gas/cfi/cfi.exp b/gas/testsuite/gas/cfi/cfi.exp
index 9b6012e..3056856 100644
--- a/gas/testsuite/gas/cfi/cfi.exp
+++ b/gas/testsuite/gas/cfi/cfi.exp
@@ -135,4 +135,5 @@ if { ![istarget "hppa64*-*"] } then {
run_dump_test "cfi-common-6"
}
run_dump_test "cfi-common-7"
+ run_dump_test "cfi-common-8"
}