blob: 9c83e2c1869bfb9b567f2caf9639bba594351616 [file] [log] [blame]
/* Test view number decoding.
Copyright (C) 2017-2021 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: