gdb/
Entry values NEWS entries, DWARF disassembly support. * NEWS: New entry values entry. (set print entry-values, show print entry-values) (set debug entry-values, show debug entry-values): New entries. * dwarf2loc.c (disassemble_dwarf_expression): New parameters start and indent. Remove variable start. Move header printing out. Respect INDENT. Support DW_OP_GNU_entry_value. (locexpr_describe_location_1): Move the header printing here, extend the disassemble_dwarf_expression passed parameters. gdb/testsuite/ * gdb.arch/amd64-entry-value.s: New file. * gdb.mi/mi2-amd64-entry-value.s: New file.
This commit is contained in:
parent
a471c5941e
commit
2bda9cc5ee
6 changed files with 4707 additions and 12 deletions
|
@ -1,3 +1,15 @@
|
|||
2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Entry values NEWS entries, DWARF disassembly support.
|
||||
* NEWS: New entry values entry.
|
||||
(set print entry-values, show print entry-values)
|
||||
(set debug entry-values, show debug entry-values): New entries.
|
||||
* dwarf2loc.c (disassemble_dwarf_expression): New parameters start and
|
||||
indent. Remove variable start. Move header printing out. Respect
|
||||
INDENT. Support DW_OP_GNU_entry_value.
|
||||
(locexpr_describe_location_1): Move the header printing here, extend
|
||||
the disassemble_dwarf_expression passed parameters.
|
||||
|
||||
2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Display @entry parameter values even for references.
|
||||
|
|
17
gdb/NEWS
17
gdb/NEWS
|
@ -83,6 +83,10 @@
|
|||
|
||||
* New commands "info macros", and "info definitions" have been added.
|
||||
|
||||
* New function parameters suffix @entry specifies value of function parameter
|
||||
at the time the function got called. Entry values are available only since
|
||||
gcc version 4.7.
|
||||
|
||||
* Changed commands
|
||||
|
||||
watch EXPRESSION mask MASK_VALUE
|
||||
|
@ -100,6 +104,19 @@ info auto-load-scripts [REGEXP]
|
|||
begin, assuming that tracepoints will be enabled as needed while the trace
|
||||
is running.
|
||||
|
||||
* New options
|
||||
|
||||
set print entry-values (both|compact|default|if-needed|no|only|preferred)
|
||||
show print entry-values
|
||||
Set printing of frame argument values at function entry. In some cases
|
||||
GDB can determine the value of function argument which was passed by the
|
||||
function caller, even if the value was modified inside the called function.
|
||||
|
||||
set debug entry-values
|
||||
show debug entry-values
|
||||
Control display of debugging info for determining frame argument values at
|
||||
function entry and virtual tail call frames.
|
||||
|
||||
* New remote packets
|
||||
|
||||
QTEnable
|
||||
|
|
|
@ -3258,15 +3258,11 @@ locexpr_describe_location_piece (struct symbol *symbol, struct ui_file *stream,
|
|||
static const gdb_byte *
|
||||
disassemble_dwarf_expression (struct ui_file *stream,
|
||||
struct gdbarch *arch, unsigned int addr_size,
|
||||
int offset_size,
|
||||
int offset_size, const gdb_byte *start,
|
||||
const gdb_byte *data, const gdb_byte *end,
|
||||
int all,
|
||||
int indent, int all,
|
||||
struct dwarf2_per_cu_data *per_cu)
|
||||
{
|
||||
const gdb_byte *start = data;
|
||||
|
||||
fprintf_filtered (stream, _("a complex DWARF expression:\n"));
|
||||
|
||||
while (data < end
|
||||
&& (all
|
||||
|| (data[0] != DW_OP_piece && data[0] != DW_OP_bit_piece)))
|
||||
|
@ -3281,7 +3277,8 @@ disassemble_dwarf_expression (struct ui_file *stream,
|
|||
if (!name)
|
||||
error (_("Unrecognized DWARF opcode 0x%02x at %ld"),
|
||||
op, (long) (data - 1 - start));
|
||||
fprintf_filtered (stream, " % 4ld: %s", (long) (data - 1 - start), name);
|
||||
fprintf_filtered (stream, " %*ld: %s", indent + 4,
|
||||
(long) (data - 1 - start), name);
|
||||
|
||||
switch (op)
|
||||
{
|
||||
|
@ -3579,6 +3576,15 @@ disassemble_dwarf_expression (struct ui_file *stream,
|
|||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case DW_OP_GNU_entry_value:
|
||||
data = read_uleb128 (data, end, &ul);
|
||||
fputc_filtered ('\n', stream);
|
||||
disassemble_dwarf_expression (stream, arch, addr_size, offset_size,
|
||||
start, data, data + ul, indent + 2,
|
||||
all, per_cu);
|
||||
data += ul;
|
||||
continue;
|
||||
}
|
||||
|
||||
fprintf_filtered (stream, "\n");
|
||||
|
@ -3623,11 +3629,15 @@ locexpr_describe_location_1 (struct symbol *symbol, CORE_ADDR addr,
|
|||
disassemble = 0;
|
||||
}
|
||||
if (disassemble)
|
||||
data = disassemble_dwarf_expression (stream,
|
||||
get_objfile_arch (objfile),
|
||||
addr_size, offset_size, data, end,
|
||||
dwarf2_always_disassemble,
|
||||
per_cu);
|
||||
{
|
||||
fprintf_filtered (stream, _("a complex DWARF expression:\n"));
|
||||
data = disassemble_dwarf_expression (stream,
|
||||
get_objfile_arch (objfile),
|
||||
addr_size, offset_size, data,
|
||||
data, end, 0,
|
||||
dwarf2_always_disassemble,
|
||||
per_cu);
|
||||
}
|
||||
|
||||
if (data < end)
|
||||
{
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
* gdb.arch/amd64-entry-value.s: New file.
|
||||
* gdb.mi/mi2-amd64-entry-value.s: New file.
|
||||
|
||||
2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Display @entry parameter values even for references.
|
||||
|
|
3752
gdb/testsuite/gdb.arch/amd64-entry-value.s
Normal file
3752
gdb/testsuite/gdb.arch/amd64-entry-value.s
Normal file
File diff suppressed because it is too large
Load diff
899
gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s
Normal file
899
gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s
Normal file
|
@ -0,0 +1,899 @@
|
|||
/* This testcase is part of GDB, the GNU debugger.
|
||||
|
||||
Copyright 2011 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/>. */
|
||||
|
||||
/* This file is compiled from gdb.mi/mi2-amd64-entry-value.c
|
||||
using -g -dA -S -O2. */
|
||||
|
||||
.file "mi2-amd64-entry-value.c"
|
||||
.text
|
||||
.Ltext0:
|
||||
.p2align 4,,15
|
||||
.type e, @function
|
||||
e:
|
||||
.LFB0:
|
||||
.file 1 "gdb.mi/mi2-amd64-entry-value.c"
|
||||
# gdb.mi/mi2-amd64-entry-value.c:22
|
||||
.loc 1 22 0
|
||||
.cfi_startproc
|
||||
.LVL0:
|
||||
# BLOCK 2 freq:10000 seq:0
|
||||
# PRED: ENTRY [100.0%] (fallthru)
|
||||
# gdb.mi/mi2-amd64-entry-value.c:23
|
||||
.loc 1 23 0
|
||||
movl $0, v(%rip)
|
||||
# SUCC: EXIT [100.0%]
|
||||
# gdb.mi/mi2-amd64-entry-value.c:24
|
||||
.loc 1 24 0
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE0:
|
||||
.size e, .-e
|
||||
.p2align 4,,15
|
||||
.type data, @function
|
||||
data:
|
||||
.LFB1:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:28
|
||||
.loc 1 28 0
|
||||
.cfi_startproc
|
||||
# BLOCK 2 freq:10000 seq:0
|
||||
# PRED: ENTRY [100.0%] (fallthru)
|
||||
# gdb.mi/mi2-amd64-entry-value.c:30
|
||||
.loc 1 30 0
|
||||
movl $10, %eax
|
||||
# SUCC: EXIT [100.0%]
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE1:
|
||||
.size data, .-data
|
||||
.p2align 4,,15
|
||||
.type data2, @function
|
||||
data2:
|
||||
.LFB2:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:34
|
||||
.loc 1 34 0
|
||||
.cfi_startproc
|
||||
# BLOCK 2 freq:10000 seq:0
|
||||
# PRED: ENTRY [100.0%] (fallthru)
|
||||
# gdb.mi/mi2-amd64-entry-value.c:36
|
||||
.loc 1 36 0
|
||||
movl $20, %eax
|
||||
# SUCC: EXIT [100.0%]
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE2:
|
||||
.size data2, .-data2
|
||||
.p2align 4,,15
|
||||
.type different, @function
|
||||
different:
|
||||
.LFB3:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:40
|
||||
.loc 1 40 0
|
||||
.cfi_startproc
|
||||
.LVL1:
|
||||
# BLOCK 2 freq:10000 seq:0
|
||||
# PRED: ENTRY [100.0%] (fallthru)
|
||||
pushq %rbx
|
||||
.LCFI0:
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 3, -16
|
||||
# gdb.mi/mi2-amd64-entry-value.c:41
|
||||
.loc 1 41 0
|
||||
leal 1(%rdi), %ebx
|
||||
.LVL2:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:42
|
||||
.loc 1 42 0
|
||||
cvtsi2sd %ebx, %xmm0
|
||||
movl %ebx, %edi
|
||||
call e
|
||||
.LVL3:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:43
|
||||
.loc 1 43 0
|
||||
#APP
|
||||
# 43 "gdb.mi/mi2-amd64-entry-value.c" 1
|
||||
breakhere_different:
|
||||
# 0 "" 2
|
||||
# gdb.mi/mi2-amd64-entry-value.c:45
|
||||
.loc 1 45 0
|
||||
#NO_APP
|
||||
movl %ebx, %eax
|
||||
popq %rbx
|
||||
.LCFI1:
|
||||
.cfi_def_cfa_offset 8
|
||||
.LVL4:
|
||||
# SUCC: EXIT [100.0%]
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE3:
|
||||
.size different, .-different
|
||||
.p2align 4,,15
|
||||
.type validity, @function
|
||||
validity:
|
||||
.LFB4:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:49
|
||||
.loc 1 49 0
|
||||
.cfi_startproc
|
||||
.LVL5:
|
||||
# BLOCK 2 freq:10000 seq:0
|
||||
# PRED: ENTRY [100.0%] (fallthru)
|
||||
# gdb.mi/mi2-amd64-entry-value.c:51
|
||||
.loc 1 51 0
|
||||
xorpd %xmm0, %xmm0
|
||||
# gdb.mi/mi2-amd64-entry-value.c:49
|
||||
.loc 1 49 0
|
||||
pushq %rbx
|
||||
.LCFI2:
|
||||
.cfi_def_cfa_offset 16
|
||||
.cfi_offset 3, -16
|
||||
# gdb.mi/mi2-amd64-entry-value.c:51
|
||||
.loc 1 51 0
|
||||
xorl %edi, %edi
|
||||
# gdb.mi/mi2-amd64-entry-value.c:49
|
||||
.loc 1 49 0
|
||||
movl %esi, %ebx
|
||||
# gdb.mi/mi2-amd64-entry-value.c:51
|
||||
.loc 1 51 0
|
||||
call e
|
||||
.LVL6:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:52
|
||||
.loc 1 52 0
|
||||
#APP
|
||||
# 52 "gdb.mi/mi2-amd64-entry-value.c" 1
|
||||
breakhere_validity:
|
||||
# 0 "" 2
|
||||
# gdb.mi/mi2-amd64-entry-value.c:54
|
||||
.loc 1 54 0
|
||||
#NO_APP
|
||||
movl %ebx, %eax
|
||||
popq %rbx
|
||||
.LCFI3:
|
||||
.cfi_def_cfa_offset 8
|
||||
.LVL7:
|
||||
# SUCC: EXIT [100.0%]
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE4:
|
||||
.size validity, .-validity
|
||||
.p2align 4,,15
|
||||
.type invalid, @function
|
||||
invalid:
|
||||
.LFB5:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:58
|
||||
.loc 1 58 0
|
||||
.cfi_startproc
|
||||
.LVL8:
|
||||
# BLOCK 2 freq:10000 seq:0
|
||||
# PRED: ENTRY [100.0%] (fallthru)
|
||||
# gdb.mi/mi2-amd64-entry-value.c:59
|
||||
.loc 1 59 0
|
||||
xorpd %xmm0, %xmm0
|
||||
xorl %edi, %edi
|
||||
.LVL9:
|
||||
call e
|
||||
.LVL10:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:60
|
||||
.loc 1 60 0
|
||||
#APP
|
||||
# 60 "gdb.mi/mi2-amd64-entry-value.c" 1
|
||||
breakhere_invalid:
|
||||
# 0 "" 2
|
||||
# SUCC: EXIT [100.0%]
|
||||
# gdb.mi/mi2-amd64-entry-value.c:61
|
||||
.loc 1 61 0
|
||||
#NO_APP
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE5:
|
||||
.size invalid, .-invalid
|
||||
.section .text.startup,"ax",@progbits
|
||||
.p2align 4,,15
|
||||
.globl main
|
||||
.type main, @function
|
||||
main:
|
||||
.LFB6:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:65
|
||||
.loc 1 65 0
|
||||
.cfi_startproc
|
||||
# BLOCK 2 freq:10000 seq:0
|
||||
# PRED: ENTRY [100.0%] (fallthru)
|
||||
# gdb.mi/mi2-amd64-entry-value.c:66
|
||||
.loc 1 66 0
|
||||
movl $5, %edi
|
||||
call different
|
||||
.LVL11:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:67
|
||||
.loc 1 67 0
|
||||
call data
|
||||
.LVL12:
|
||||
movl $5, %edi
|
||||
movl %eax, %esi
|
||||
call validity
|
||||
.LVL13:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:68
|
||||
.loc 1 68 0
|
||||
call data2
|
||||
.LVL14:
|
||||
movl %eax, %edi
|
||||
call invalid
|
||||
.LVL15:
|
||||
# gdb.mi/mi2-amd64-entry-value.c:70
|
||||
.loc 1 70 0
|
||||
xorl %eax, %eax
|
||||
.p2align 4,,1
|
||||
# SUCC: EXIT [100.0%]
|
||||
ret
|
||||
.cfi_endproc
|
||||
.LFE6:
|
||||
.size main, .-main
|
||||
.local v
|
||||
.comm v,4,4
|
||||
.text
|
||||
.Letext0:
|
||||
.section .debug_info,"",@progbits
|
||||
.Ldebug_info0:
|
||||
.long 0x24e # Length of Compilation Unit Info
|
||||
.value 0x2 # DWARF version number
|
||||
.long .Ldebug_abbrev0 # Offset Into Abbrev. Section
|
||||
.byte 0x8 # Pointer Size (in bytes)
|
||||
.uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit)
|
||||
.long .LASF3 # DW_AT_producer: "GNU C 4.7.0 20110912 (experimental)"
|
||||
.byte 0x1 # DW_AT_language
|
||||
.long .LASF4 # DW_AT_name: "gdb.mi/mi2-amd64-entry-value.c"
|
||||
.long .LASF5 # DW_AT_comp_dir: ""
|
||||
.long .Ldebug_ranges0+0 # DW_AT_ranges
|
||||
.quad 0 # DW_AT_low_pc
|
||||
.quad 0 # DW_AT_entry_pc
|
||||
.long .Ldebug_line0 # DW_AT_stmt_list
|
||||
.uleb128 0x2 # (DIE (0x31) DW_TAG_base_type)
|
||||
.byte 0x8 # DW_AT_byte_size
|
||||
.byte 0x4 # DW_AT_encoding
|
||||
.long .LASF0 # DW_AT_name: "double"
|
||||
.uleb128 0x3 # (DIE (0x38) DW_TAG_base_type)
|
||||
.byte 0x4 # DW_AT_byte_size
|
||||
.byte 0x5 # DW_AT_encoding
|
||||
.ascii "int\0" # DW_AT_name
|
||||
.uleb128 0x4 # (DIE (0x3f) DW_TAG_subprogram)
|
||||
.ascii "e\0" # DW_AT_name
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x15 # DW_AT_decl_line
|
||||
.byte 0x1 # DW_AT_prototyped
|
||||
.quad .LFB0 # DW_AT_low_pc
|
||||
.quad .LFE0 # DW_AT_high_pc
|
||||
.byte 0x2 # DW_AT_frame_base
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.byte 0x1 # DW_AT_GNU_all_call_sites
|
||||
.long 0x74 # DW_AT_sibling
|
||||
.uleb128 0x5 # (DIE (0x5d) DW_TAG_formal_parameter)
|
||||
.ascii "i\0" # DW_AT_name
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x15 # DW_AT_decl_line
|
||||
.long 0x38 # DW_AT_type
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.uleb128 0x5 # (DIE (0x68) DW_TAG_formal_parameter)
|
||||
.ascii "j\0" # DW_AT_name
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x15 # DW_AT_decl_line
|
||||
.long 0x31 # DW_AT_type
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x61 # DW_OP_reg17
|
||||
.byte 0 # end of children of DIE 0x3f
|
||||
.uleb128 0x6 # (DIE (0x74) DW_TAG_subprogram)
|
||||
.long .LASF1 # DW_AT_name: "data"
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x1b # DW_AT_decl_line
|
||||
.byte 0x1 # DW_AT_prototyped
|
||||
.long 0x38 # DW_AT_type
|
||||
.quad .LFB1 # DW_AT_low_pc
|
||||
.quad .LFE1 # DW_AT_high_pc
|
||||
.byte 0x2 # DW_AT_frame_base
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.byte 0x1 # DW_AT_GNU_all_call_sites
|
||||
.uleb128 0x6 # (DIE (0x94) DW_TAG_subprogram)
|
||||
.long .LASF2 # DW_AT_name: "data2"
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x21 # DW_AT_decl_line
|
||||
.byte 0x1 # DW_AT_prototyped
|
||||
.long 0x38 # DW_AT_type
|
||||
.quad .LFB2 # DW_AT_low_pc
|
||||
.quad .LFE2 # DW_AT_high_pc
|
||||
.byte 0x2 # DW_AT_frame_base
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.byte 0x1 # DW_AT_GNU_all_call_sites
|
||||
.uleb128 0x7 # (DIE (0xb4) DW_TAG_subprogram)
|
||||
.long .LASF6 # DW_AT_name: "different"
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x27 # DW_AT_decl_line
|
||||
.byte 0x1 # DW_AT_prototyped
|
||||
.long 0x38 # DW_AT_type
|
||||
.quad .LFB3 # DW_AT_low_pc
|
||||
.quad .LFE3 # DW_AT_high_pc
|
||||
.long .LLST0 # DW_AT_frame_base
|
||||
.byte 0x1 # DW_AT_GNU_all_call_sites
|
||||
.long 0x107 # DW_AT_sibling
|
||||
.uleb128 0x8 # (DIE (0xd9) DW_TAG_formal_parameter)
|
||||
.ascii "val\0" # DW_AT_name
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x27 # DW_AT_decl_line
|
||||
.long 0x38 # DW_AT_type
|
||||
.long .LLST1 # DW_AT_location
|
||||
.uleb128 0x9 # (DIE (0xe8) DW_TAG_GNU_call_site)
|
||||
.quad .LVL3 # DW_AT_low_pc
|
||||
.long 0x3f # DW_AT_abstract_origin
|
||||
.uleb128 0xa # (DIE (0xf5) DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.byte 0x2 # DW_AT_GNU_call_site_value
|
||||
.byte 0x73 # DW_OP_breg3
|
||||
.sleb128 0
|
||||
.uleb128 0xa # (DIE (0xfb) DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x61 # DW_OP_reg17
|
||||
.byte 0x6 # DW_AT_GNU_call_site_value
|
||||
.byte 0x73 # DW_OP_breg3
|
||||
.sleb128 0
|
||||
.byte 0xf7 # DW_OP_GNU_convert
|
||||
.uleb128 0x38
|
||||
.byte 0xf7 # DW_OP_GNU_convert
|
||||
.uleb128 0x31
|
||||
.byte 0 # end of children of DIE 0xe8
|
||||
.byte 0 # end of children of DIE 0xb4
|
||||
.uleb128 0x7 # (DIE (0x107) DW_TAG_subprogram)
|
||||
.long .LASF7 # DW_AT_name: "validity"
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x30 # DW_AT_decl_line
|
||||
.byte 0x1 # DW_AT_prototyped
|
||||
.long 0x38 # DW_AT_type
|
||||
.quad .LFB4 # DW_AT_low_pc
|
||||
.quad .LFE4 # DW_AT_high_pc
|
||||
.long .LLST2 # DW_AT_frame_base
|
||||
.byte 0x1 # DW_AT_GNU_all_call_sites
|
||||
.long 0x16d # DW_AT_sibling
|
||||
.uleb128 0xb # (DIE (0x12c) DW_TAG_formal_parameter)
|
||||
.long .LASF8 # DW_AT_name: "lost"
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x30 # DW_AT_decl_line
|
||||
.long 0x38 # DW_AT_type
|
||||
.long .LLST3 # DW_AT_location
|
||||
.uleb128 0xb # (DIE (0x13b) DW_TAG_formal_parameter)
|
||||
.long .LASF9 # DW_AT_name: "born"
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x30 # DW_AT_decl_line
|
||||
.long 0x38 # DW_AT_type
|
||||
.long .LLST4 # DW_AT_location
|
||||
.uleb128 0x9 # (DIE (0x14a) DW_TAG_GNU_call_site)
|
||||
.quad .LVL6 # DW_AT_low_pc
|
||||
.long 0x3f # DW_AT_abstract_origin
|
||||
.uleb128 0xa # (DIE (0x157) DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.byte 0x1 # DW_AT_GNU_call_site_value
|
||||
.byte 0x30 # DW_OP_lit0
|
||||
.uleb128 0xa # (DIE (0x15c) DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x61 # DW_OP_reg17
|
||||
.byte 0xb # DW_AT_GNU_call_site_value
|
||||
.byte 0xf4 # DW_OP_GNU_const_type
|
||||
.uleb128 0x31
|
||||
.byte 0x8
|
||||
.long 0 # fp or vector constant word 0
|
||||
.long 0 # fp or vector constant word 1
|
||||
.byte 0 # end of children of DIE 0x14a
|
||||
.byte 0 # end of children of DIE 0x107
|
||||
.uleb128 0xc # (DIE (0x16d) DW_TAG_subprogram)
|
||||
.long .LASF10 # DW_AT_name: "invalid"
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x39 # DW_AT_decl_line
|
||||
.byte 0x1 # DW_AT_prototyped
|
||||
.quad .LFB5 # DW_AT_low_pc
|
||||
.quad .LFE5 # DW_AT_high_pc
|
||||
.byte 0x2 # DW_AT_frame_base
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.byte 0x1 # DW_AT_GNU_all_call_sites
|
||||
.long 0x1bf # DW_AT_sibling
|
||||
.uleb128 0x8 # (DIE (0x18d) DW_TAG_formal_parameter)
|
||||
.ascii "inv\0" # DW_AT_name
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x39 # DW_AT_decl_line
|
||||
.long 0x38 # DW_AT_type
|
||||
.long .LLST5 # DW_AT_location
|
||||
.uleb128 0x9 # (DIE (0x19c) DW_TAG_GNU_call_site)
|
||||
.quad .LVL10 # DW_AT_low_pc
|
||||
.long 0x3f # DW_AT_abstract_origin
|
||||
.uleb128 0xa # (DIE (0x1a9) DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.byte 0x1 # DW_AT_GNU_call_site_value
|
||||
.byte 0x30 # DW_OP_lit0
|
||||
.uleb128 0xa # (DIE (0x1ae) DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x61 # DW_OP_reg17
|
||||
.byte 0xb # DW_AT_GNU_call_site_value
|
||||
.byte 0xf4 # DW_OP_GNU_const_type
|
||||
.uleb128 0x31
|
||||
.byte 0x8
|
||||
.long 0 # fp or vector constant word 0
|
||||
.long 0 # fp or vector constant word 1
|
||||
.byte 0 # end of children of DIE 0x19c
|
||||
.byte 0 # end of children of DIE 0x16d
|
||||
.uleb128 0xd # (DIE (0x1bf) DW_TAG_subprogram)
|
||||
.byte 0x1 # DW_AT_external
|
||||
.long .LASF11 # DW_AT_name: "main"
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x40 # DW_AT_decl_line
|
||||
.long 0x38 # DW_AT_type
|
||||
.quad .LFB6 # DW_AT_low_pc
|
||||
.quad .LFE6 # DW_AT_high_pc
|
||||
.byte 0x2 # DW_AT_frame_base
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.byte 0x1 # DW_AT_GNU_all_call_sites
|
||||
.long 0x239 # DW_AT_sibling
|
||||
.uleb128 0xe # (DIE (0x1e3) DW_TAG_GNU_call_site)
|
||||
.quad .LVL11 # DW_AT_low_pc
|
||||
.long 0xb4 # DW_AT_abstract_origin
|
||||
.long 0x1fa # DW_AT_sibling
|
||||
.uleb128 0xa # (DIE (0x1f4) DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.byte 0x1 # DW_AT_GNU_call_site_value
|
||||
.byte 0x35 # DW_OP_lit5
|
||||
.byte 0 # end of children of DIE 0x1e3
|
||||
.uleb128 0xf # (DIE (0x1fa) DW_TAG_GNU_call_site)
|
||||
.quad .LVL12 # DW_AT_low_pc
|
||||
.long 0x74 # DW_AT_abstract_origin
|
||||
.uleb128 0xe # (DIE (0x207) DW_TAG_GNU_call_site)
|
||||
.quad .LVL13 # DW_AT_low_pc
|
||||
.long 0x107 # DW_AT_abstract_origin
|
||||
.long 0x21e # DW_AT_sibling
|
||||
.uleb128 0xa # (DIE (0x218) DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0x1 # DW_AT_location
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.byte 0x1 # DW_AT_GNU_call_site_value
|
||||
.byte 0x35 # DW_OP_lit5
|
||||
.byte 0 # end of children of DIE 0x207
|
||||
.uleb128 0xf # (DIE (0x21e) DW_TAG_GNU_call_site)
|
||||
.quad .LVL14 # DW_AT_low_pc
|
||||
.long 0x94 # DW_AT_abstract_origin
|
||||
.uleb128 0xf # (DIE (0x22b) DW_TAG_GNU_call_site)
|
||||
.quad .LVL15 # DW_AT_low_pc
|
||||
.long 0x16d # DW_AT_abstract_origin
|
||||
.byte 0 # end of children of DIE 0x1bf
|
||||
.uleb128 0x10 # (DIE (0x239) DW_TAG_variable)
|
||||
.ascii "v\0" # DW_AT_name
|
||||
.byte 0x1 # DW_AT_decl_file (gdb.mi/mi2-amd64-entry-value.c)
|
||||
.byte 0x12 # DW_AT_decl_line
|
||||
.long 0x24c # DW_AT_type
|
||||
.byte 0x9 # DW_AT_location
|
||||
.byte 0x3 # DW_OP_addr
|
||||
.quad v
|
||||
.uleb128 0x11 # (DIE (0x24c) DW_TAG_volatile_type)
|
||||
.long 0x38 # DW_AT_type
|
||||
.byte 0 # end of children of DIE 0xb
|
||||
.section .debug_abbrev,"",@progbits
|
||||
.Ldebug_abbrev0:
|
||||
.uleb128 0x1 # (abbrev code)
|
||||
.uleb128 0x11 # (TAG: DW_TAG_compile_unit)
|
||||
.byte 0x1 # DW_children_yes
|
||||
.uleb128 0x25 # (DW_AT_producer)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.uleb128 0x13 # (DW_AT_language)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.uleb128 0x1b # (DW_AT_comp_dir)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.uleb128 0x55 # (DW_AT_ranges)
|
||||
.uleb128 0x6 # (DW_FORM_data4)
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x52 # (DW_AT_entry_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x10 # (DW_AT_stmt_list)
|
||||
.uleb128 0x6 # (DW_FORM_data4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x2 # (abbrev code)
|
||||
.uleb128 0x24 # (TAG: DW_TAG_base_type)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0xb # (DW_AT_byte_size)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3e # (DW_AT_encoding)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x3 # (abbrev code)
|
||||
.uleb128 0x24 # (TAG: DW_TAG_base_type)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0xb # (DW_AT_byte_size)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3e # (DW_AT_encoding)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0x8 # (DW_FORM_string)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x4 # (abbrev code)
|
||||
.uleb128 0x2e # (TAG: DW_TAG_subprogram)
|
||||
.byte 0x1 # DW_children_yes
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0x8 # (DW_FORM_string)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x27 # (DW_AT_prototyped)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x12 # (DW_AT_high_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x40 # (DW_AT_frame_base)
|
||||
.uleb128 0xa # (DW_FORM_block1)
|
||||
.uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x1 # (DW_AT_sibling)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x5 # (abbrev code)
|
||||
.uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0x8 # (DW_FORM_string)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x49 # (DW_AT_type)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.uleb128 0x2 # (DW_AT_location)
|
||||
.uleb128 0xa # (DW_FORM_block1)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x6 # (abbrev code)
|
||||
.uleb128 0x2e # (TAG: DW_TAG_subprogram)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x27 # (DW_AT_prototyped)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x49 # (DW_AT_type)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x12 # (DW_AT_high_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x40 # (DW_AT_frame_base)
|
||||
.uleb128 0xa # (DW_FORM_block1)
|
||||
.uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x7 # (abbrev code)
|
||||
.uleb128 0x2e # (TAG: DW_TAG_subprogram)
|
||||
.byte 0x1 # DW_children_yes
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x27 # (DW_AT_prototyped)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x49 # (DW_AT_type)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x12 # (DW_AT_high_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x40 # (DW_AT_frame_base)
|
||||
.uleb128 0x6 # (DW_FORM_data4)
|
||||
.uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x1 # (DW_AT_sibling)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x8 # (abbrev code)
|
||||
.uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0x8 # (DW_FORM_string)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x49 # (DW_AT_type)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.uleb128 0x2 # (DW_AT_location)
|
||||
.uleb128 0x6 # (DW_FORM_data4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x9 # (abbrev code)
|
||||
.uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
|
||||
.byte 0x1 # DW_children_yes
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x31 # (DW_AT_abstract_origin)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xa # (abbrev code)
|
||||
.uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0x2 # (DW_AT_location)
|
||||
.uleb128 0xa # (DW_FORM_block1)
|
||||
.uleb128 0x2111 # (DW_AT_GNU_call_site_value)
|
||||
.uleb128 0xa # (DW_FORM_block1)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xb # (abbrev code)
|
||||
.uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x49 # (DW_AT_type)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.uleb128 0x2 # (DW_AT_location)
|
||||
.uleb128 0x6 # (DW_FORM_data4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xc # (abbrev code)
|
||||
.uleb128 0x2e # (TAG: DW_TAG_subprogram)
|
||||
.byte 0x1 # DW_children_yes
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x27 # (DW_AT_prototyped)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x12 # (DW_AT_high_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x40 # (DW_AT_frame_base)
|
||||
.uleb128 0xa # (DW_FORM_block1)
|
||||
.uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x1 # (DW_AT_sibling)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xd # (abbrev code)
|
||||
.uleb128 0x2e # (TAG: DW_TAG_subprogram)
|
||||
.byte 0x1 # DW_children_yes
|
||||
.uleb128 0x3f # (DW_AT_external)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0xe # (DW_FORM_strp)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x49 # (DW_AT_type)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x12 # (DW_AT_high_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x40 # (DW_AT_frame_base)
|
||||
.uleb128 0xa # (DW_FORM_block1)
|
||||
.uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
|
||||
.uleb128 0xc # (DW_FORM_flag)
|
||||
.uleb128 0x1 # (DW_AT_sibling)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xe # (abbrev code)
|
||||
.uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
|
||||
.byte 0x1 # DW_children_yes
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x31 # (DW_AT_abstract_origin)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.uleb128 0x1 # (DW_AT_sibling)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0xf # (abbrev code)
|
||||
.uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0x11 # (DW_AT_low_pc)
|
||||
.uleb128 0x1 # (DW_FORM_addr)
|
||||
.uleb128 0x31 # (DW_AT_abstract_origin)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x10 # (abbrev code)
|
||||
.uleb128 0x34 # (TAG: DW_TAG_variable)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0x3 # (DW_AT_name)
|
||||
.uleb128 0x8 # (DW_FORM_string)
|
||||
.uleb128 0x3a # (DW_AT_decl_file)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x3b # (DW_AT_decl_line)
|
||||
.uleb128 0xb # (DW_FORM_data1)
|
||||
.uleb128 0x49 # (DW_AT_type)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.uleb128 0x2 # (DW_AT_location)
|
||||
.uleb128 0xa # (DW_FORM_block1)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.uleb128 0x11 # (abbrev code)
|
||||
.uleb128 0x35 # (TAG: DW_TAG_volatile_type)
|
||||
.byte 0 # DW_children_no
|
||||
.uleb128 0x49 # (DW_AT_type)
|
||||
.uleb128 0x13 # (DW_FORM_ref4)
|
||||
.byte 0
|
||||
.byte 0
|
||||
.byte 0
|
||||
.section .debug_loc,"",@progbits
|
||||
.Ldebug_loc0:
|
||||
.LLST0:
|
||||
.quad .LFB3 # Location list begin address (*.LLST0)
|
||||
.quad .LCFI0 # Location list end address (*.LLST0)
|
||||
.value 0x2 # Location expression size
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.quad .LCFI0 # Location list begin address (*.LLST0)
|
||||
.quad .LCFI1 # Location list end address (*.LLST0)
|
||||
.value 0x2 # Location expression size
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 16
|
||||
.quad .LCFI1 # Location list begin address (*.LLST0)
|
||||
.quad .LFE3 # Location list end address (*.LLST0)
|
||||
.value 0x2 # Location expression size
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.quad 0 # Location list terminator begin (*.LLST0)
|
||||
.quad 0 # Location list terminator end (*.LLST0)
|
||||
.LLST1:
|
||||
.quad .LVL1 # Location list begin address (*.LLST1)
|
||||
.quad .LVL2 # Location list end address (*.LLST1)
|
||||
.value 0x1 # Location expression size
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.quad .LVL2 # Location list begin address (*.LLST1)
|
||||
.quad .LVL4 # Location list end address (*.LLST1)
|
||||
.value 0x1 # Location expression size
|
||||
.byte 0x53 # DW_OP_reg3
|
||||
.quad .LVL4 # Location list begin address (*.LLST1)
|
||||
.quad .LFE3 # Location list end address (*.LLST1)
|
||||
.value 0x1 # Location expression size
|
||||
.byte 0x50 # DW_OP_reg0
|
||||
.quad 0 # Location list terminator begin (*.LLST1)
|
||||
.quad 0 # Location list terminator end (*.LLST1)
|
||||
.LLST2:
|
||||
.quad .LFB4 # Location list begin address (*.LLST2)
|
||||
.quad .LCFI2 # Location list end address (*.LLST2)
|
||||
.value 0x2 # Location expression size
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.quad .LCFI2 # Location list begin address (*.LLST2)
|
||||
.quad .LCFI3 # Location list end address (*.LLST2)
|
||||
.value 0x2 # Location expression size
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 16
|
||||
.quad .LCFI3 # Location list begin address (*.LLST2)
|
||||
.quad .LFE4 # Location list end address (*.LLST2)
|
||||
.value 0x2 # Location expression size
|
||||
.byte 0x77 # DW_OP_breg7
|
||||
.sleb128 8
|
||||
.quad 0 # Location list terminator begin (*.LLST2)
|
||||
.quad 0 # Location list terminator end (*.LLST2)
|
||||
.LLST3:
|
||||
.quad .LVL5 # Location list begin address (*.LLST3)
|
||||
.quad .LVL5 # Location list end address (*.LLST3)
|
||||
.value 0x1 # Location expression size
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.quad 0 # Location list terminator begin (*.LLST3)
|
||||
.quad 0 # Location list terminator end (*.LLST3)
|
||||
.LLST4:
|
||||
.quad .LVL5 # Location list begin address (*.LLST4)
|
||||
.quad .LVL6-1 # Location list end address (*.LLST4)
|
||||
.value 0x1 # Location expression size
|
||||
.byte 0x54 # DW_OP_reg4
|
||||
.quad .LVL6-1 # Location list begin address (*.LLST4)
|
||||
.quad .LVL7 # Location list end address (*.LLST4)
|
||||
.value 0x1 # Location expression size
|
||||
.byte 0x53 # DW_OP_reg3
|
||||
.quad .LVL7 # Location list begin address (*.LLST4)
|
||||
.quad .LFE4 # Location list end address (*.LLST4)
|
||||
.value 0x1 # Location expression size
|
||||
.byte 0x50 # DW_OP_reg0
|
||||
.quad 0 # Location list terminator begin (*.LLST4)
|
||||
.quad 0 # Location list terminator end (*.LLST4)
|
||||
.LLST5:
|
||||
.quad .LVL8 # Location list begin address (*.LLST5)
|
||||
.quad .LVL9 # Location list end address (*.LLST5)
|
||||
.value 0x1 # Location expression size
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.quad .LVL9 # Location list begin address (*.LLST5)
|
||||
.quad .LFE5 # Location list end address (*.LLST5)
|
||||
.value 0x4 # Location expression size
|
||||
.byte 0xf3 # DW_OP_GNU_entry_value
|
||||
.uleb128 0x1
|
||||
.byte 0x55 # DW_OP_reg5
|
||||
.byte 0x9f # DW_OP_stack_value
|
||||
.quad 0 # Location list terminator begin (*.LLST5)
|
||||
.quad 0 # Location list terminator end (*.LLST5)
|
||||
.section .debug_aranges,"",@progbits
|
||||
.long 0x3c # Length of Address Ranges Info
|
||||
.value 0x2 # DWARF Version
|
||||
.long .Ldebug_info0 # Offset of Compilation Unit Info
|
||||
.byte 0x8 # Size of Address
|
||||
.byte 0 # Size of Segment Descriptor
|
||||
.value 0 # Pad to 16 byte boundary
|
||||
.value 0
|
||||
.quad .Ltext0 # Address
|
||||
.quad .Letext0-.Ltext0 # Length
|
||||
.quad .LFB6 # Address
|
||||
.quad .LFE6-.LFB6 # Length
|
||||
.quad 0
|
||||
.quad 0
|
||||
.section .debug_ranges,"",@progbits
|
||||
.Ldebug_ranges0:
|
||||
.quad .Ltext0 # Offset 0
|
||||
.quad .Letext0
|
||||
.quad .LFB6 # Offset 0x10
|
||||
.quad .LFE6
|
||||
.quad 0
|
||||
.quad 0
|
||||
.section .debug_line,"",@progbits
|
||||
.Ldebug_line0:
|
||||
.section .debug_str,"MS",@progbits,1
|
||||
.LASF2:
|
||||
.string "data2"
|
||||
.LASF3:
|
||||
.string "GNU C 4.7.0 20110912 (experimental)"
|
||||
.LASF4:
|
||||
.string "gdb.mi/mi2-amd64-entry-value.c"
|
||||
.LASF9:
|
||||
.string "born"
|
||||
.LASF6:
|
||||
.string "different"
|
||||
.LASF7:
|
||||
.string "validity"
|
||||
.LASF10:
|
||||
.string "invalid"
|
||||
.LASF0:
|
||||
.string "double"
|
||||
.LASF11:
|
||||
.string "main"
|
||||
.LASF1:
|
||||
.string "data"
|
||||
.LASF8:
|
||||
.string "lost"
|
||||
.LASF5:
|
||||
.string ""
|
||||
.ident "GCC: (GNU) 4.7.0 20110912 (experimental)"
|
||||
.section .note.GNU-stack,"",@progbits
|
Loading…
Reference in a new issue