diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2016-09-28 17:54:06 +0200 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2016-09-29 16:33:25 +0200 |
commit | 084303b8c636944564d7be3b85dde55e8c371e91 (patch) | |
tree | 80993d8ee34940a43773da8d03594584ffeb7775 /gas/testsuite | |
parent | a5721ba270ddf860e0e5a45bba456214e8eac2be (diff) | |
download | gdb-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.d | 23 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi-common-8.s | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/cfi/cfi.exp | 1 |
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" } |