diff options
Diffstat (limited to 'gas/testsuite/gas/elf/dwarf2-6.s')
-rw-r--r-- | gas/testsuite/gas/elf/dwarf2-6.s | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/gas/testsuite/gas/elf/dwarf2-6.s b/gas/testsuite/gas/elf/dwarf2-6.s new file mode 100644 index 0000000..28b1829 --- /dev/null +++ b/gas/testsuite/gas/elf/dwarf2-6.s @@ -0,0 +1,101 @@ +/* Test view number decoding. + + Copyright (C) 2017 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + + .file "dwarf2-6.c" + .text + .balign 4 + .globl _start +_start: +.L_start: + .org .+256 +.Lend_start: + + .section .debug_line,"",%progbits + .4byte .Lline_end - .Lline_start /* Initial length. */ +.Lline_start: + .2byte 2 /* Dwarf Version. */ + .4byte .Lline_lines - .Lline_hdr +.Lline_hdr: + .byte 1 /* Minimum insn length. */ + .byte 1 /* Default is_stmt. */ + .byte 1 /* Line base. */ + .byte 1 /* Line range. */ + .byte 0x10 /* Opcode base. */ + + /* Standard lengths. */ + .byte 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 + + .byte 0 /* Include directories. */ + + /* File names. */ + .ascii "dwarf2-6.c\0" + .uleb128 0, 0, 0 + + .byte 0 + +.Lline_lines: + .byte 0 /* DW_LNS_extended_op. */ + .uleb128 5 + .byte 2 /* DW_LNE_set_address. */ + .4byte .L_start + + .byte 1 /* DW_LNS_copy view 0. */ + + .byte 1 /* DW_LNS_copy view 1. */ + + .byte 0 /* DW_LNS_extended_op. */ + .uleb128 5 + .byte 2 /* DW_LNE_set_address. */ + .4byte .L_start+1 + + .byte 1 /* DW_LNS_copy view 0. */ + + .byte 2 /* DW_LNS_advance_pc by 0. */ + .uleb128 0 + + .byte 1 /* DW_LNS_copy view 1. */ + + .byte 2 /* DW_LNS_advance_pc by 1 (reset view). */ + .uleb128 1 + + .byte 1 /* DW_LNS_copy view 0. */ + + .byte 9 /* DW_LNS_fixed_advance_pc by 1. */ + .2byte 1 /* This opcode does NOT reset view. */ + + .byte 1 /* DW_LNS_copy view 1. */ + + .byte 16 /* Special opcode 0, PC+=0, Line+=1, view 2. */ + + .byte 17 /* Special opcode 1, PC+=1 (reset view), Line+=1. */ + + .byte 1 /* DW_LNS_copy view 1. */ + + .byte 8 /* DW_LNS_const_add_pc by 239 (reset view). */ + + .byte 1 /* DW_LNS_copy view 0. */ + + .byte 0 /* DW_LNS_extended_op. */ + .uleb128 5 + .byte 2 /* DW_LNE_set_address. */ + .4byte .Lend_start + + .byte 0 /* DW_LNS_extended_op. */ + .uleb128 1 + .byte 1 /* DW_LEN_end_of_sequence. */ + +.Lline_end: |