Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [patch 12/12] entryval: DWARF disassembler, NEWS, .s file
@ 2011-07-18 21:01 Jan Kratochvil
  2011-07-19 11:42 ` Eli Zaretskii
  0 siblings, 1 reply; 2+ messages in thread
From: Jan Kratochvil @ 2011-07-18 21:01 UTC (permalink / raw)
  To: gdb-patches

Hi,

this patch primarily fixes `info addr variable_using_entry_value':

  Range 0x400513-0x40052b: a complex DWARF expression:
     0: DW_OP_GNU_entry_value
a complex DWARF expression:
     0: DW_OP_reg5 [$rdi]
     3: DW_OP_plus_uconst 1
     5: DW_OP_stack_value
->
  Range 0x400513-0x40052b: a complex DWARF expression:
     0: DW_OP_GNU_entry_value
       2: DW_OP_reg5 [$rdi]
     3: DW_OP_plus_uconst 1
     5: DW_OP_stack_value

and NEWS and .s file for runtest without COMPILE=1, therefore also for testing
on hosts with incompatible compiler.

The DWARF cannot be made arch-independent, therefore I haven't attempted to
create a readable .S file by hand.


Thanks,
Jan


gdb/
2011-07-18  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Entry values NEWS entry, DWARF disassembly support.
	* NEWS: New entry values entry.
	* 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/
2011-07-18  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.arch/amd64-entry-value.s: New file.

--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -40,6 +40,10 @@
   the first connection is made.  The listening port used by GDBserver will
   become available after that.
 
+* 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
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -3088,15 +3088,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)))
@@ -3111,7 +3107,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)
 	{
@@ -3409,6 +3406,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");
@@ -3453,11 +3459,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)
 	{
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/amd64-entry-value.s
@@ -0,0 +1,2078 @@
+/* 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 form gdb.arch/amd64-entry-value.c
+   using -g -dA -S -O2.  */
+
+	.file	"amd64-entry-value.cc"
+	.text
+.Ltext0:
+	.p2align 4,,15
+	.type	_ZL1ei, @function
+_ZL1ei:
+.LFB0:
+	.file 1 "gdb.arch/amd64-entry-value.cc"
+	# gdb.arch/amd64-entry-value.cc:22
+	.loc 1 22 0
+	.cfi_startproc
+.LVL0:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:23
+	.loc 1 23 0
+	movl	$0, _ZL1v(%rip)
+# SUCC: EXIT [100.0%] 
+	# gdb.arch/amd64-entry-value.cc:24
+	.loc 1 24 0
+	ret
+	.cfi_endproc
+.LFE0:
+	.size	_ZL1ei, .-_ZL1ei
+	.p2align 4,,15
+	.type	_ZL1di, @function
+_ZL1di:
+.LFB1:
+	# gdb.arch/amd64-entry-value.cc:28
+	.loc 1 28 0
+	.cfi_startproc
+.LVL1:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:29
+	.loc 1 29 0
+	addl	$1, %edi
+.LVL2:
+	# gdb.arch/amd64-entry-value.cc:30
+	.loc 1 30 0
+	call	_ZL1ei
+.LVL3:
+	# gdb.arch/amd64-entry-value.cc:31
+	.loc 1 31 0
+	movl	_ZL1v(%rip), %edi
+	call	_ZL1ei
+.LVL4:
+	# gdb.arch/amd64-entry-value.cc:32
+	.loc 1 32 0
+#APP
+# 32 "gdb.arch/amd64-entry-value.cc" 1
+	breakhere:
+# 0 "" 2
+	# gdb.arch/amd64-entry-value.cc:33
+	.loc 1 33 0
+#NO_APP
+	movl	_ZL1v(%rip), %edi
+	jmp	_ZL1ei
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+.LVL5:
+	.cfi_endproc
+.LFE1:
+	.size	_ZL1di, .-_ZL1di
+	.p2align 4,,15
+	.type	_ZL1ci, @function
+_ZL1ci:
+.LFB2:
+	# gdb.arch/amd64-entry-value.cc:38
+	.loc 1 38 0
+	.cfi_startproc
+.LVL6:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:39
+	.loc 1 39 0
+	leal	(%rdi,%rdi,4), %edi
+.LVL7:
+	addl	%edi, %edi
+	jmp	_ZL1di
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+.LVL8:
+	.cfi_endproc
+.LFE2:
+	.size	_ZL1ci, .-_ZL1ci
+	.p2align 4,,15
+	.type	_ZL1ai, @function
+_ZL1ai:
+.LFB3:
+	# gdb.arch/amd64-entry-value.cc:44
+	.loc 1 44 0
+	.cfi_startproc
+.LVL9:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:45
+	.loc 1 45 0
+	addl	$1, %edi
+.LVL10:
+	jmp	_ZL1ci
+.LVL11:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE3:
+	.size	_ZL1ai, .-_ZL1ai
+	.p2align 4,,15
+	.type	_ZL1bi, @function
+_ZL1bi:
+.LFB4:
+	# gdb.arch/amd64-entry-value.cc:50
+	.loc 1 50 0
+	.cfi_startproc
+.LVL12:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:51
+	.loc 1 51 0
+	addl	$2, %edi
+.LVL13:
+	jmp	_ZL1ci
+.LVL14:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE4:
+	.size	_ZL1bi, .-_ZL1bi
+	.p2align 4,,15
+	.type	_ZL5amb_zi, @function
+_ZL5amb_zi:
+.LFB5:
+	# gdb.arch/amd64-entry-value.cc:56
+	.loc 1 56 0
+	.cfi_startproc
+.LVL15:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:57
+	.loc 1 57 0
+	addl	$7, %edi
+.LVL16:
+	jmp	_ZL1di
+.LVL17:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE5:
+	.size	_ZL5amb_zi, .-_ZL5amb_zi
+	.p2align 4,,15
+	.type	_ZL5amb_yi, @function
+_ZL5amb_yi:
+.LFB6:
+	# gdb.arch/amd64-entry-value.cc:62
+	.loc 1 62 0
+	.cfi_startproc
+.LVL18:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:63
+	.loc 1 63 0
+	addl	$6, %edi
+.LVL19:
+	jmp	_ZL5amb_zi
+.LVL20:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE6:
+	.size	_ZL5amb_yi, .-_ZL5amb_yi
+	.p2align 4,,15
+	.type	_ZL5amb_xi, @function
+_ZL5amb_xi:
+.LFB7:
+	# gdb.arch/amd64-entry-value.cc:68
+	.loc 1 68 0
+	.cfi_startproc
+.LVL21:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:69
+	.loc 1 69 0
+	addl	$5, %edi
+.LVL22:
+	jmp	_ZL5amb_yi
+.LVL23:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE7:
+	.size	_ZL5amb_xi, .-_ZL5amb_xi
+	.p2align 4,,15
+	.type	_ZL3ambi, @function
+_ZL3ambi:
+.LFB8:
+	# gdb.arch/amd64-entry-value.cc:74
+	.loc 1 74 0
+	.cfi_startproc
+.LVL24:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:75
+	.loc 1 75 0
+	testl	%edi, %edi
+# SUCC: 4 [19.1%]  (can_fallthru) 3 [80.9%]  (fallthru,can_fallthru)
+	js	.L12
+# BLOCK 3 freq:8088 seq:1
+# PRED: 2 [80.9%]  (fallthru,can_fallthru)
+	# gdb.arch/amd64-entry-value.cc:78
+	.loc 1 78 0
+	addl	$4, %edi
+.LVL25:
+	jmp	_ZL5amb_xi
+.LVL26:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+# BLOCK 4 freq:1912 seq:2
+# PRED: 2 [19.1%]  (can_fallthru)
+.L12:
+	# gdb.arch/amd64-entry-value.cc:76
+	.loc 1 76 0
+	addl	$3, %edi
+.LVL27:
+	jmp	_ZL5amb_xi
+.LVL28:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE8:
+	.size	_ZL3ambi, .-_ZL3ambi
+	.p2align 4,,15
+	.type	_ZL5amb_bi, @function
+_ZL5amb_bi:
+.LFB9:
+	# gdb.arch/amd64-entry-value.cc:83
+	.loc 1 83 0
+	.cfi_startproc
+.LVL29:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:84
+	.loc 1 84 0
+	addl	$2, %edi
+.LVL30:
+	jmp	_ZL3ambi
+.LVL31:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE9:
+	.size	_ZL5amb_bi, .-_ZL5amb_bi
+	.p2align 4,,15
+	.type	_ZL5amb_ai, @function
+_ZL5amb_ai:
+.LFB10:
+	# gdb.arch/amd64-entry-value.cc:89
+	.loc 1 89 0
+	.cfi_startproc
+.LVL32:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:90
+	.loc 1 90 0
+	addl	$1, %edi
+.LVL33:
+	jmp	_ZL5amb_bi
+.LVL34:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE10:
+	.size	_ZL5amb_ai, .-_ZL5amb_ai
+	.p2align 4,,15
+	.type	_ZL4selfi, @function
+_ZL4selfi:
+.LFB12:
+	# gdb.arch/amd64-entry-value.cc:103
+	.loc 1 103 0
+	.cfi_startproc
+.LVL35:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:104
+	.loc 1 104 0
+	cmpl	$200, %edi
+	# gdb.arch/amd64-entry-value.cc:103
+	.loc 1 103 0
+	pushq	%rbx
+.LCFI0:
+	.cfi_def_cfa_offset 16
+	.cfi_offset 3, -16
+	# gdb.arch/amd64-entry-value.cc:103
+	.loc 1 103 0
+	movl	%edi, %ebx
+# SUCC: 4 [19.9%]  (can_fallthru) 3 [80.1%]  (fallthru,can_fallthru)
+	# gdb.arch/amd64-entry-value.cc:104
+	.loc 1 104 0
+	je	.L17
+# BLOCK 3 freq:8009 seq:1
+# PRED: 2 [80.1%]  (fallthru,can_fallthru)
+	# gdb.arch/amd64-entry-value.cc:111
+	.loc 1 111 0
+	movl	_ZL1v(%rip), %edi
+.LVL36:
+	call	_ZL1ei
+.LVL37:
+	# gdb.arch/amd64-entry-value.cc:112
+	.loc 1 112 0
+	leal	2(%rbx), %edi
+	# gdb.arch/amd64-entry-value.cc:114
+	.loc 1 114 0
+	popq	%rbx
+.LCFI1:
+	.cfi_remember_state
+	.cfi_def_cfa_offset 8
+.LVL38:
+	# gdb.arch/amd64-entry-value.cc:112
+	.loc 1 112 0
+	jmp	_ZL1di
+.LVL39:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+# BLOCK 4 freq:1991 seq:2
+# PRED: 2 [19.9%]  (can_fallthru)
+	.p2align 4,,10
+	.p2align 3
+.L17:
+.LCFI2:
+	.cfi_restore_state
+	# gdb.arch/amd64-entry-value.cc:114
+	.loc 1 114 0
+	popq	%rbx
+.LCFI3:
+	.cfi_def_cfa_offset 8
+.LVL40:
+	# gdb.arch/amd64-entry-value.cc:107
+	.loc 1 107 0
+	movl	$201, %edi
+.LVL41:
+	jmp	_ZL5self2i
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+.LVL42:
+	.cfi_endproc
+.LFE12:
+	.size	_ZL4selfi, .-_ZL4selfi
+	.p2align 4,,15
+	.type	_ZL5self2i, @function
+_ZL5self2i:
+.LFB11:
+	# gdb.arch/amd64-entry-value.cc:97
+	.loc 1 97 0
+	.cfi_startproc
+.LVL43:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:98
+	.loc 1 98 0
+	jmp	_ZL4selfi
+.LVL44:
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+	.cfi_endproc
+.LFE11:
+	.size	_ZL5self2i, .-_ZL5self2i
+	.p2align 4,,15
+	.type	_ZL9stacktestiiiiiiii, @function
+_ZL9stacktestiiiiiiii:
+.LFB13:
+	# gdb.arch/amd64-entry-value.cc:118
+	.loc 1 118 0
+	.cfi_startproc
+.LVL45:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	# gdb.arch/amd64-entry-value.cc:121
+	.loc 1 121 0
+	movl	_ZL1v(%rip), %edi
+.LVL46:
+	call	_ZL1ei
+.LVL47:
+	# gdb.arch/amd64-entry-value.cc:122
+	.loc 1 122 0
+#APP
+# 122 "gdb.arch/amd64-entry-value.cc" 1
+	breakhere_stacktest:
+# 0 "" 2
+	# gdb.arch/amd64-entry-value.cc:123
+	.loc 1 123 0
+#NO_APP
+	movl	_ZL1v(%rip), %edi
+	jmp	_ZL1ei
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+.LVL48:
+	.cfi_endproc
+.LFE13:
+	.size	_ZL9stacktestiiiiiiii, .-_ZL9stacktestiiiiiiii
+	.p2align 4,,15
+	.type	_ZL9referenceRi, @function
+_ZL9referenceRi:
+.LFB14:
+	# gdb.arch/amd64-entry-value.cc:128
+	.loc 1 128 0
+	.cfi_startproc
+.LVL49:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+.LBB2:
+	# gdb.arch/amd64-entry-value.cc:131
+	.loc 1 131 0
+	movl	$10, (%rdi)
+	# gdb.arch/amd64-entry-value.cc:132
+	.loc 1 132 0
+#APP
+# 132 "gdb.arch/amd64-entry-value.cc" 1
+	breakhere_reference:
+# 0 "" 2
+	# gdb.arch/amd64-entry-value.cc:133
+	.loc 1 133 0
+#NO_APP
+	movl	_ZL1v(%rip), %edi
+.LVL50:
+	jmp	_ZL1ei
+# SUCC: EXIT [100.0%]  (ab,sibcall)
+.LVL51:
+.LBE2:
+	.cfi_endproc
+.LFE14:
+	.size	_ZL9referenceRi, .-_ZL9referenceRi
+	.section	.text.startup,"ax",@progbits
+	.p2align 4,,15
+	.globl	main
+	.type	main, @function
+main:
+.LFB15:
+	# gdb.arch/amd64-entry-value.cc:138
+	.loc 1 138 0
+	.cfi_startproc
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%]  (fallthru)
+	subq	$40, %rsp
+.LCFI4:
+	.cfi_def_cfa_offset 48
+.LBB3:
+	# gdb.arch/amd64-entry-value.cc:141
+	.loc 1 141 0
+	movl	$30, %edi
+	call	_ZL1di
+.LVL52:
+	# gdb.arch/amd64-entry-value.cc:142
+	.loc 1 142 0
+	movl	$6, %r9d
+	movl	$5, %r8d
+	movl	$4, %ecx
+	movl	$3, %edx
+	movl	$2, %esi
+	movl	$1, %edi
+	movl	$12, 8(%rsp)
+	movl	$11, (%rsp)
+	call	_ZL9stacktestiiiiiiii
+.LVL53:
+	# gdb.arch/amd64-entry-value.cc:145
+	.loc 1 145 0
+	leaq	28(%rsp), %rdi
+	# gdb.arch/amd64-entry-value.cc:144
+	.loc 1 144 0
+	movl	$5, 28(%rsp)
+.LVL54:
+	# gdb.arch/amd64-entry-value.cc:145
+	.loc 1 145 0
+	call	_ZL9referenceRi
+.LVL55:
+	# gdb.arch/amd64-entry-value.cc:147
+	.loc 1 147 0
+	movl	_ZL1v(%rip), %eax
+	testl	%eax, %eax
+# SUCC: 5 [39.0%]  (can_fallthru) 3 [61.0%]  (fallthru,can_fallthru)
+	jne	.L24
+# BLOCK 3 freq:6100 seq:1
+# PRED: 2 [61.0%]  (fallthru,can_fallthru)
+	# gdb.arch/amd64-entry-value.cc:150
+	.loc 1 150 0
+	movl	$5, %edi
+	call	_ZL1bi
+# SUCC: 4 [100.0%]  (fallthru,can_fallthru)
+.LVL56:
+# BLOCK 4 freq:10000 seq:2
+# PRED: 3 [100.0%]  (fallthru,can_fallthru) 5 [100.0%] 
+.L23:
+	# gdb.arch/amd64-entry-value.cc:151
+	.loc 1 151 0
+	movl	$100, %edi
+	call	_ZL5amb_ai
+.LVL57:
+	# gdb.arch/amd64-entry-value.cc:152
+	.loc 1 152 0
+	movl	$200, %edi
+	call	_ZL4selfi
+.LVL58:
+.LBE3:
+	# gdb.arch/amd64-entry-value.cc:154
+	.loc 1 154 0
+	xorl	%eax, %eax
+	addq	$40, %rsp
+.LCFI5:
+	.cfi_remember_state
+	.cfi_def_cfa_offset 8
+# SUCC: EXIT [100.0%] 
+	ret
+# BLOCK 5 freq:3900 seq:3
+# PRED: 2 [39.0%]  (can_fallthru)
+.L24:
+.LCFI6:
+	.cfi_restore_state
+.LBB4:
+	# gdb.arch/amd64-entry-value.cc:148
+	.loc 1 148 0
+	movl	$1, %edi
+	call	_ZL1ai
+.LVL59:
+# SUCC: 4 [100.0%] 
+	jmp	.L23
+.LBE4:
+	.cfi_endproc
+.LFE15:
+	.size	main, .-main
+	.local	_ZL1v
+	.comm	_ZL1v,4,4
+	.text
+.Letext0:
+	.section	.debug_info,"",@progbits
+.Ldebug_info0:
+	.long	0x624	# 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	.LASF12	# DW_AT_producer: "GNU C++ 4.7.0 20110711 (experimental)"
+	.byte	0x4	# DW_AT_language
+	.long	.LASF13	# DW_AT_name: "gdb.arch/amd64-entry-value.cc"
+	.long	.LASF14	# DW_AT_comp_dir: ""
+	.long	.Ldebug_ranges0+0x30	# 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_subprogram)
+	.ascii "e\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x15	# DW_AT_decl_line
+	.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	0x5a	# DW_AT_sibling
+	.uleb128 0x3	# (DIE (0x4e) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x15	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0	# end of children of DIE 0x31
+	.uleb128 0x4	# (DIE (0x5a) DW_TAG_base_type)
+	.byte	0x4	# DW_AT_byte_size
+	.byte	0x5	# DW_AT_encoding
+	.ascii "int\0"	# DW_AT_name
+	.uleb128 0x2	# (DIE (0x61) DW_TAG_subprogram)
+	.ascii "d\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x1b	# DW_AT_decl_line
+	.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
+	.long	0xc2	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x7e) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x1b	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST0	# DW_AT_location
+	.uleb128 0x6	# (DIE (0x8b) DW_TAG_GNU_call_site)
+	.quad	.LVL3	# DW_AT_low_pc
+	.long	0x31	# DW_AT_abstract_origin
+	.long	0xa6	# DW_AT_sibling
+	.uleb128 0x7	# (DIE (0x9c) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x1
+	.byte	0	# end of children of DIE 0x8b
+	.uleb128 0x8	# (DIE (0xa6) DW_TAG_GNU_call_site)
+	.quad	.LVL4	# DW_AT_low_pc
+	.long	0x31	# DW_AT_abstract_origin
+	.uleb128 0x9	# (DIE (0xb3) DW_TAG_GNU_call_site)
+	.quad	.LVL5	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x31	# DW_AT_abstract_origin
+	.byte	0	# end of children of DIE 0x61
+	.uleb128 0x2	# (DIE (0xc2) DW_TAG_subprogram)
+	.ascii "c\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x25	# DW_AT_decl_line
+	.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
+	.long	0x107	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0xdf) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x25	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST1	# DW_AT_location
+	.uleb128 0xa	# (DIE (0xec) DW_TAG_GNU_call_site)
+	.quad	.LVL8	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x61	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0xfa) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x7	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x35	# DW_OP_lit5
+	.byte	0x1e	# DW_OP_mul
+	.byte	0x31	# DW_OP_lit1
+	.byte	0x24	# DW_OP_shl
+	.byte	0	# end of children of DIE 0xec
+	.byte	0	# end of children of DIE 0xc2
+	.uleb128 0x2	# (DIE (0x107) DW_TAG_subprogram)
+	.ascii "a\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x2b	# DW_AT_decl_line
+	.quad	.LFB3	# DW_AT_low_pc
+	.quad	.LFE3	# 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	0x14a	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x124) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x2b	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST2	# DW_AT_location
+	.uleb128 0xa	# (DIE (0x131) DW_TAG_GNU_call_site)
+	.quad	.LVL11	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0xc2	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x13f) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x1
+	.byte	0	# end of children of DIE 0x131
+	.byte	0	# end of children of DIE 0x107
+	.uleb128 0x2	# (DIE (0x14a) DW_TAG_subprogram)
+	.ascii "b\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x31	# DW_AT_decl_line
+	.quad	.LFB4	# DW_AT_low_pc
+	.quad	.LFE4	# 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	0x18d	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x167) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x31	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST3	# DW_AT_location
+	.uleb128 0xa	# (DIE (0x174) DW_TAG_GNU_call_site)
+	.quad	.LVL14	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0xc2	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x182) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x2
+	.byte	0	# end of children of DIE 0x174
+	.byte	0	# end of children of DIE 0x14a
+	.uleb128 0xb	# (DIE (0x18d) DW_TAG_subprogram)
+	.long	.LASF0	# DW_AT_name: "amb_z"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x37	# DW_AT_decl_line
+	.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	0x1d2	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x1ac) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x37	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST4	# DW_AT_location
+	.uleb128 0xa	# (DIE (0x1b9) DW_TAG_GNU_call_site)
+	.quad	.LVL17	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x61	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x1c7) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x7
+	.byte	0	# end of children of DIE 0x1b9
+	.byte	0	# end of children of DIE 0x18d
+	.uleb128 0xb	# (DIE (0x1d2) DW_TAG_subprogram)
+	.long	.LASF1	# DW_AT_name: "amb_y"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x3d	# DW_AT_decl_line
+	.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	0x217	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x1f1) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x3d	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST5	# DW_AT_location
+	.uleb128 0xa	# (DIE (0x1fe) DW_TAG_GNU_call_site)
+	.quad	.LVL20	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x18d	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x20c) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x6
+	.byte	0	# end of children of DIE 0x1fe
+	.byte	0	# end of children of DIE 0x1d2
+	.uleb128 0xb	# (DIE (0x217) DW_TAG_subprogram)
+	.long	.LASF2	# DW_AT_name: "amb_x"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x43	# DW_AT_decl_line
+	.quad	.LFB7	# DW_AT_low_pc
+	.quad	.LFE7	# 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	0x25c	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x236) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x43	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST6	# DW_AT_location
+	.uleb128 0xa	# (DIE (0x243) DW_TAG_GNU_call_site)
+	.quad	.LVL23	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x1d2	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x251) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x5
+	.byte	0	# end of children of DIE 0x243
+	.byte	0	# end of children of DIE 0x217
+	.uleb128 0x2	# (DIE (0x25c) DW_TAG_subprogram)
+	.ascii "amb\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x49	# DW_AT_decl_line
+	.quad	.LFB8	# DW_AT_low_pc
+	.quad	.LFE8	# 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	0x2bd	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x27b) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x49	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST7	# DW_AT_location
+	.uleb128 0xc	# (DIE (0x288) DW_TAG_GNU_call_site)
+	.quad	.LVL26	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x217	# DW_AT_abstract_origin
+	.long	0x2a4	# DW_AT_sibling
+	.uleb128 0x7	# (DIE (0x29a) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x4
+	.byte	0	# end of children of DIE 0x288
+	.uleb128 0xa	# (DIE (0x2a4) DW_TAG_GNU_call_site)
+	.quad	.LVL28	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x217	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x2b2) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x3
+	.byte	0	# end of children of DIE 0x2a4
+	.byte	0	# end of children of DIE 0x25c
+	.uleb128 0xb	# (DIE (0x2bd) DW_TAG_subprogram)
+	.long	.LASF3	# DW_AT_name: "amb_b"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x52	# DW_AT_decl_line
+	.quad	.LFB9	# DW_AT_low_pc
+	.quad	.LFE9	# 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	0x302	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x2dc) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x52	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST8	# DW_AT_location
+	.uleb128 0xa	# (DIE (0x2e9) DW_TAG_GNU_call_site)
+	.quad	.LVL31	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x25c	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x2f7) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x2
+	.byte	0	# end of children of DIE 0x2e9
+	.byte	0	# end of children of DIE 0x2bd
+	.uleb128 0xb	# (DIE (0x302) DW_TAG_subprogram)
+	.long	.LASF4	# DW_AT_name: "amb_a"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x58	# DW_AT_decl_line
+	.quad	.LFB10	# DW_AT_low_pc
+	.quad	.LFE10	# 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	0x347	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x321) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x58	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST9	# DW_AT_location
+	.uleb128 0xa	# (DIE (0x32e) DW_TAG_GNU_call_site)
+	.quad	.LVL34	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x2bd	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x33c) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x1
+	.byte	0	# end of children of DIE 0x32e
+	.byte	0	# end of children of DIE 0x302
+	.uleb128 0xd	# (DIE (0x347) DW_TAG_subprogram)
+	.long	.LASF5	# DW_AT_name: "self"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x66	# DW_AT_decl_line
+	.quad	.LFB12	# DW_AT_low_pc
+	.quad	.LFE12	# DW_AT_high_pc
+	.long	.LLST10	# DW_AT_frame_base
+	.byte	0x1	# DW_AT_GNU_all_call_sites
+	.long	0x3b3	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x367) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x66	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST11	# DW_AT_location
+	.uleb128 0x8	# (DIE (0x374) DW_TAG_GNU_call_site)
+	.quad	.LVL37	# DW_AT_low_pc
+	.long	0x31	# DW_AT_abstract_origin
+	.uleb128 0xc	# (DIE (0x381) DW_TAG_GNU_call_site)
+	.quad	.LVL39	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x61	# DW_AT_abstract_origin
+	.long	0x39d	# DW_AT_sibling
+	.uleb128 0x7	# (DIE (0x393) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x5	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x2
+	.byte	0	# end of children of DIE 0x381
+	.uleb128 0xa	# (DIE (0x39d) DW_TAG_GNU_call_site)
+	.quad	.LVL42	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x3b3	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x3ab) 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	0x8	# DW_OP_const1u
+	.byte	0xc9
+	.byte	0	# end of children of DIE 0x39d
+	.byte	0	# end of children of DIE 0x347
+	.uleb128 0xb	# (DIE (0x3b3) DW_TAG_subprogram)
+	.long	.LASF6	# DW_AT_name: "self2"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x60	# DW_AT_decl_line
+	.quad	.LFB11	# DW_AT_low_pc
+	.quad	.LFE11	# 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	0x3f6	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x3d2) DW_TAG_formal_parameter)
+	.ascii "i\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x60	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST12	# DW_AT_location
+	.uleb128 0xa	# (DIE (0x3df) DW_TAG_GNU_call_site)
+	.quad	.LVL44	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x347	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x3ed) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x3	# DW_AT_GNU_call_site_value
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0	# end of children of DIE 0x3df
+	.byte	0	# end of children of DIE 0x3b3
+	.uleb128 0xb	# (DIE (0x3f6) DW_TAG_subprogram)
+	.long	.LASF7	# DW_AT_name: "stacktest"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.quad	.LFB13	# DW_AT_low_pc
+	.quad	.LFE13	# 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	0x4a1	# DW_AT_sibling
+	.uleb128 0x5	# (DIE (0x415) DW_TAG_formal_parameter)
+	.ascii "r1\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST13	# DW_AT_location
+	.uleb128 0x5	# (DIE (0x423) DW_TAG_formal_parameter)
+	.ascii "r2\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST14	# DW_AT_location
+	.uleb128 0x5	# (DIE (0x431) DW_TAG_formal_parameter)
+	.ascii "r3\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST15	# DW_AT_location
+	.uleb128 0x5	# (DIE (0x43f) DW_TAG_formal_parameter)
+	.ascii "r4\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST16	# DW_AT_location
+	.uleb128 0x5	# (DIE (0x44d) DW_TAG_formal_parameter)
+	.ascii "r5\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST17	# DW_AT_location
+	.uleb128 0x5	# (DIE (0x45b) DW_TAG_formal_parameter)
+	.ascii "r6\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST18	# DW_AT_location
+	.uleb128 0x5	# (DIE (0x469) DW_TAG_formal_parameter)
+	.ascii "s1\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST19	# DW_AT_location
+	.uleb128 0x5	# (DIE (0x477) DW_TAG_formal_parameter)
+	.ascii "s2\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x75	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.long	.LLST20	# DW_AT_location
+	.uleb128 0x8	# (DIE (0x485) DW_TAG_GNU_call_site)
+	.quad	.LVL47	# DW_AT_low_pc
+	.long	0x31	# DW_AT_abstract_origin
+	.uleb128 0x9	# (DIE (0x492) DW_TAG_GNU_call_site)
+	.quad	.LVL48	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x31	# DW_AT_abstract_origin
+	.byte	0	# end of children of DIE 0x3f6
+	.uleb128 0xb	# (DIE (0x4a1) DW_TAG_subprogram)
+	.long	.LASF8	# DW_AT_name: "reference"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x7f	# DW_AT_decl_line
+	.quad	.LFB14	# DW_AT_low_pc
+	.quad	.LFE14	# 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	0x503	# DW_AT_sibling
+	.uleb128 0xe	# (DIE (0x4c0) DW_TAG_formal_parameter)
+	.long	.LASF9	# DW_AT_name: "refparam"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x7f	# DW_AT_decl_line
+	.long	0x503	# DW_AT_type
+	.long	.LLST21	# DW_AT_location
+	.uleb128 0xf	# (DIE (0x4cf) DW_TAG_lexical_block)
+	.quad	.LBB2	# DW_AT_low_pc
+	.quad	.LBE2	# DW_AT_high_pc
+	.uleb128 0x10	# (DIE (0x4e0) DW_TAG_variable)
+	.long	.LASF10	# DW_AT_name: "refcopy"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x81	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.byte	0x7	# DW_AT_location
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x4
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 0
+	.byte	0x94	# DW_OP_deref_size
+	.byte	0x4
+	.byte	0x9f	# DW_OP_stack_value
+	.uleb128 0x9	# (DIE (0x4f3) DW_TAG_GNU_call_site)
+	.quad	.LVL51	# DW_AT_low_pc
+	.byte	0x1	# DW_AT_GNU_tail_call
+	.long	0x31	# DW_AT_abstract_origin
+	.byte	0	# end of children of DIE 0x4cf
+	.byte	0	# end of children of DIE 0x4a1
+	.uleb128 0x11	# (DIE (0x503) DW_TAG_const_type)
+	.long	0x508	# DW_AT_type
+	.uleb128 0x12	# (DIE (0x508) DW_TAG_reference_type)
+	.byte	0x8	# DW_AT_byte_size
+	.long	0x5a	# DW_AT_type
+	.uleb128 0x13	# (DIE (0x50e) DW_TAG_subprogram)
+	.byte	0x1	# DW_AT_external
+	.long	.LASF15	# DW_AT_name: "main"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x89	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.quad	.LFB15	# DW_AT_low_pc
+	.quad	.LFE15	# DW_AT_high_pc
+	.long	.LLST22	# DW_AT_frame_base
+	.byte	0x1	# DW_AT_GNU_all_call_sites
+	.long	0x60f	# DW_AT_sibling
+	.uleb128 0x14	# (DIE (0x533) DW_TAG_lexical_block)
+	.long	.Ldebug_ranges0+0	# DW_AT_ranges
+	.uleb128 0x10	# (DIE (0x538) DW_TAG_variable)
+	.long	.LASF11	# DW_AT_name: "refvar"
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x8b	# DW_AT_decl_line
+	.long	0x5a	# DW_AT_type
+	.byte	0x2	# DW_AT_location
+	.byte	0x91	# DW_OP_fbreg
+	.sleb128 -20
+	.uleb128 0x6	# (DIE (0x546) DW_TAG_GNU_call_site)
+	.quad	.LVL52	# DW_AT_low_pc
+	.long	0x61	# DW_AT_abstract_origin
+	.long	0x55d	# DW_AT_sibling
+	.uleb128 0x7	# (DIE (0x557) 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	0x4e	# DW_OP_lit30
+	.byte	0	# end of children of DIE 0x546
+	.uleb128 0x6	# (DIE (0x55d) DW_TAG_GNU_call_site)
+	.quad	.LVL53	# DW_AT_low_pc
+	.long	0x3f6	# DW_AT_abstract_origin
+	.long	0x599	# DW_AT_sibling
+	.uleb128 0x7	# (DIE (0x56e) 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	0x31	# DW_OP_lit1
+	.uleb128 0x7	# (DIE (0x573) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x54	# DW_OP_reg4
+	.byte	0x1	# DW_AT_GNU_call_site_value
+	.byte	0x32	# DW_OP_lit2
+	.uleb128 0x7	# (DIE (0x578) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x51	# DW_OP_reg1
+	.byte	0x1	# DW_AT_GNU_call_site_value
+	.byte	0x33	# DW_OP_lit3
+	.uleb128 0x7	# (DIE (0x57d) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x52	# DW_OP_reg2
+	.byte	0x1	# DW_AT_GNU_call_site_value
+	.byte	0x34	# DW_OP_lit4
+	.uleb128 0x7	# (DIE (0x582) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x58	# DW_OP_reg8
+	.byte	0x1	# DW_AT_GNU_call_site_value
+	.byte	0x35	# DW_OP_lit5
+	.uleb128 0x7	# (DIE (0x587) DW_TAG_GNU_call_site_parameter)
+	.byte	0x1	# DW_AT_location
+	.byte	0x59	# DW_OP_reg9
+	.byte	0x1	# DW_AT_GNU_call_site_value
+	.byte	0x36	# DW_OP_lit6
+	.uleb128 0x7	# (DIE (0x58c) DW_TAG_GNU_call_site_parameter)
+	.byte	0x2	# DW_AT_location
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 0
+	.byte	0x1	# DW_AT_GNU_call_site_value
+	.byte	0x3b	# DW_OP_lit11
+	.uleb128 0x7	# (DIE (0x592) DW_TAG_GNU_call_site_parameter)
+	.byte	0x2	# DW_AT_location
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 8
+	.byte	0x1	# DW_AT_GNU_call_site_value
+	.byte	0x3c	# DW_OP_lit12
+	.byte	0	# end of children of DIE 0x55d
+	.uleb128 0x6	# (DIE (0x599) DW_TAG_GNU_call_site)
+	.quad	.LVL55	# DW_AT_low_pc
+	.long	0x4a1	# DW_AT_abstract_origin
+	.long	0x5b3	# DW_AT_sibling
+	.uleb128 0x15	# (DIE (0x5aa) 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	0x91	# DW_OP_fbreg
+	.sleb128 -20
+	.byte	0x1	# DW_AT_GNU_call_site_data_value
+	.byte	0x35	# DW_OP_lit5
+	.byte	0	# end of children of DIE 0x599
+	.uleb128 0x6	# (DIE (0x5b3) DW_TAG_GNU_call_site)
+	.quad	.LVL56	# DW_AT_low_pc
+	.long	0x14a	# DW_AT_abstract_origin
+	.long	0x5ca	# DW_AT_sibling
+	.uleb128 0x7	# (DIE (0x5c4) 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 0x5b3
+	.uleb128 0x6	# (DIE (0x5ca) DW_TAG_GNU_call_site)
+	.quad	.LVL57	# DW_AT_low_pc
+	.long	0x302	# DW_AT_abstract_origin
+	.long	0x5e2	# DW_AT_sibling
+	.uleb128 0x7	# (DIE (0x5db) 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	0x8	# DW_OP_const1u
+	.byte	0x64
+	.byte	0	# end of children of DIE 0x5ca
+	.uleb128 0x6	# (DIE (0x5e2) DW_TAG_GNU_call_site)
+	.quad	.LVL58	# DW_AT_low_pc
+	.long	0x347	# DW_AT_abstract_origin
+	.long	0x5fa	# DW_AT_sibling
+	.uleb128 0x7	# (DIE (0x5f3) 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	0x8	# DW_OP_const1u
+	.byte	0xc8
+	.byte	0	# end of children of DIE 0x5e2
+	.uleb128 0x16	# (DIE (0x5fa) DW_TAG_GNU_call_site)
+	.quad	.LVL59	# DW_AT_low_pc
+	.long	0x107	# DW_AT_abstract_origin
+	.uleb128 0x7	# (DIE (0x607) 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	0x31	# DW_OP_lit1
+	.byte	0	# end of children of DIE 0x5fa
+	.byte	0	# end of children of DIE 0x533
+	.byte	0	# end of children of DIE 0x50e
+	.uleb128 0x17	# (DIE (0x60f) DW_TAG_variable)
+	.ascii "v\0"	# DW_AT_name
+	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-entry-value.cc)
+	.byte	0x12	# DW_AT_decl_line
+	.long	0x622	# DW_AT_type
+	.byte	0x9	# DW_AT_location
+	.byte	0x3	# DW_OP_addr
+	.quad	_ZL1v
+	.uleb128 0x18	# (DIE (0x622) DW_TAG_volatile_type)
+	.long	0x5a	# 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 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 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 0x3	# (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 0x4	# (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 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 0x6	# (DW_FORM_data4)
+	.byte	0
+	.byte	0
+	.uleb128 0x6	# (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 0x7	# (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 0x8	# (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 0x9	# (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 0x2115	# (DW_AT_GNU_tail_call)
+	.uleb128 0xc	# (DW_FORM_flag)
+	.uleb128 0x31	# (DW_AT_abstract_origin)
+	.uleb128 0x13	# (DW_FORM_ref4)
+	.byte	0
+	.byte	0
+	.uleb128 0xa	# (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 0x2115	# (DW_AT_GNU_tail_call)
+	.uleb128 0xc	# (DW_FORM_flag)
+	.uleb128 0x31	# (DW_AT_abstract_origin)
+	.uleb128 0x13	# (DW_FORM_ref4)
+	.byte	0
+	.byte	0
+	.uleb128 0xb	# (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 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 0xc	# (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 0x2115	# (DW_AT_GNU_tail_call)
+	.uleb128 0xc	# (DW_FORM_flag)
+	.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 0xd	# (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 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 0xe	# (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 0xf	# (abbrev code)
+	.uleb128 0xb	# (TAG: DW_TAG_lexical_block)
+	.byte	0x1	# DW_children_yes
+	.uleb128 0x11	# (DW_AT_low_pc)
+	.uleb128 0x1	# (DW_FORM_addr)
+	.uleb128 0x12	# (DW_AT_high_pc)
+	.uleb128 0x1	# (DW_FORM_addr)
+	.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 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 0xa	# (DW_FORM_block1)
+	.byte	0
+	.byte	0
+	.uleb128 0x11	# (abbrev code)
+	.uleb128 0x26	# (TAG: DW_TAG_const_type)
+	.byte	0	# DW_children_no
+	.uleb128 0x49	# (DW_AT_type)
+	.uleb128 0x13	# (DW_FORM_ref4)
+	.byte	0
+	.byte	0
+	.uleb128 0x12	# (abbrev code)
+	.uleb128 0x10	# (TAG: DW_TAG_reference_type)
+	.byte	0	# DW_children_no
+	.uleb128 0xb	# (DW_AT_byte_size)
+	.uleb128 0xb	# (DW_FORM_data1)
+	.uleb128 0x49	# (DW_AT_type)
+	.uleb128 0x13	# (DW_FORM_ref4)
+	.byte	0
+	.byte	0
+	.uleb128 0x13	# (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 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 0x14	# (abbrev code)
+	.uleb128 0xb	# (TAG: DW_TAG_lexical_block)
+	.byte	0x1	# DW_children_yes
+	.uleb128 0x55	# (DW_AT_ranges)
+	.uleb128 0x6	# (DW_FORM_data4)
+	.byte	0
+	.byte	0
+	.uleb128 0x15	# (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)
+	.uleb128 0x2112	# (DW_AT_GNU_call_site_data_value)
+	.uleb128 0xa	# (DW_FORM_block1)
+	.byte	0
+	.byte	0
+	.uleb128 0x16	# (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 0x17	# (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 0x18	# (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	.LVL1	# Location list begin address (*.LLST0)
+	.quad	.LVL1	# Location list end address (*.LLST0)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL1	# Location list begin address (*.LLST0)
+	.quad	.LVL2	# Location list end address (*.LLST0)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 1
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL2	# Location list begin address (*.LLST0)
+	.quad	.LFE1	# Location list end address (*.LLST0)
+	.value	0x6	# Location expression size
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x55	# DW_OP_reg5
+	.byte	0x23	# DW_OP_plus_uconst
+	.uleb128 0x1
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	0	# Location list terminator begin (*.LLST0)
+	.quad	0	# Location list terminator end (*.LLST0)
+.LLST1:
+	.quad	.LVL6	# Location list begin address (*.LLST1)
+	.quad	.LVL7	# Location list end address (*.LLST1)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL7	# Location list begin address (*.LLST1)
+	.quad	.LFE2	# Location list end address (*.LLST1)
+	.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 (*.LLST1)
+	.quad	0	# Location list terminator end (*.LLST1)
+.LLST2:
+	.quad	.LVL9	# Location list begin address (*.LLST2)
+	.quad	.LVL10	# Location list end address (*.LLST2)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL10	# Location list begin address (*.LLST2)
+	.quad	.LVL11-1	# Location list end address (*.LLST2)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -1
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL11-1	# Location list begin address (*.LLST2)
+	.quad	.LFE3	# Location list end address (*.LLST2)
+	.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 (*.LLST2)
+	.quad	0	# Location list terminator end (*.LLST2)
+.LLST3:
+	.quad	.LVL12	# Location list begin address (*.LLST3)
+	.quad	.LVL13	# Location list end address (*.LLST3)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL13	# Location list begin address (*.LLST3)
+	.quad	.LVL14-1	# Location list end address (*.LLST3)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -2
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL14-1	# Location list begin address (*.LLST3)
+	.quad	.LFE4	# Location list end address (*.LLST3)
+	.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 (*.LLST3)
+	.quad	0	# Location list terminator end (*.LLST3)
+.LLST4:
+	.quad	.LVL15	# Location list begin address (*.LLST4)
+	.quad	.LVL16	# Location list end address (*.LLST4)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL16	# Location list begin address (*.LLST4)
+	.quad	.LVL17-1	# Location list end address (*.LLST4)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -7
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL17-1	# Location list begin address (*.LLST4)
+	.quad	.LFE5	# Location list end address (*.LLST4)
+	.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 (*.LLST4)
+	.quad	0	# Location list terminator end (*.LLST4)
+.LLST5:
+	.quad	.LVL18	# Location list begin address (*.LLST5)
+	.quad	.LVL19	# Location list end address (*.LLST5)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL19	# Location list begin address (*.LLST5)
+	.quad	.LVL20-1	# Location list end address (*.LLST5)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -6
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL20-1	# Location list begin address (*.LLST5)
+	.quad	.LFE6	# 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)
+.LLST6:
+	.quad	.LVL21	# Location list begin address (*.LLST6)
+	.quad	.LVL22	# Location list end address (*.LLST6)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL22	# Location list begin address (*.LLST6)
+	.quad	.LVL23-1	# Location list end address (*.LLST6)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -5
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL23-1	# Location list begin address (*.LLST6)
+	.quad	.LFE7	# Location list end address (*.LLST6)
+	.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 (*.LLST6)
+	.quad	0	# Location list terminator end (*.LLST6)
+.LLST7:
+	.quad	.LVL24	# Location list begin address (*.LLST7)
+	.quad	.LVL25	# Location list end address (*.LLST7)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL25	# Location list begin address (*.LLST7)
+	.quad	.LVL26-1	# Location list end address (*.LLST7)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -4
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL26-1	# Location list begin address (*.LLST7)
+	.quad	.LVL26	# Location list end address (*.LLST7)
+	.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	.LVL26	# Location list begin address (*.LLST7)
+	.quad	.LVL27	# Location list end address (*.LLST7)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL27	# Location list begin address (*.LLST7)
+	.quad	.LVL28-1	# Location list end address (*.LLST7)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -3
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL28-1	# Location list begin address (*.LLST7)
+	.quad	.LFE8	# Location list end address (*.LLST7)
+	.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 (*.LLST7)
+	.quad	0	# Location list terminator end (*.LLST7)
+.LLST8:
+	.quad	.LVL29	# Location list begin address (*.LLST8)
+	.quad	.LVL30	# Location list end address (*.LLST8)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL30	# Location list begin address (*.LLST8)
+	.quad	.LVL31-1	# Location list end address (*.LLST8)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -2
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL31-1	# Location list begin address (*.LLST8)
+	.quad	.LFE9	# Location list end address (*.LLST8)
+	.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 (*.LLST8)
+	.quad	0	# Location list terminator end (*.LLST8)
+.LLST9:
+	.quad	.LVL32	# Location list begin address (*.LLST9)
+	.quad	.LVL33	# Location list end address (*.LLST9)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL33	# Location list begin address (*.LLST9)
+	.quad	.LVL34-1	# Location list end address (*.LLST9)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -1
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL34-1	# Location list begin address (*.LLST9)
+	.quad	.LFE10	# Location list end address (*.LLST9)
+	.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 (*.LLST9)
+	.quad	0	# Location list terminator end (*.LLST9)
+.LLST10:
+	.quad	.LFB12	# Location list begin address (*.LLST10)
+	.quad	.LCFI0	# Location list end address (*.LLST10)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 8
+	.quad	.LCFI0	# Location list begin address (*.LLST10)
+	.quad	.LCFI1	# Location list end address (*.LLST10)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 16
+	.quad	.LCFI1	# Location list begin address (*.LLST10)
+	.quad	.LCFI2	# Location list end address (*.LLST10)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 8
+	.quad	.LCFI2	# Location list begin address (*.LLST10)
+	.quad	.LCFI3	# Location list end address (*.LLST10)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 16
+	.quad	.LCFI3	# Location list begin address (*.LLST10)
+	.quad	.LFE12	# Location list end address (*.LLST10)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 8
+	.quad	0	# Location list terminator begin (*.LLST10)
+	.quad	0	# Location list terminator end (*.LLST10)
+.LLST11:
+	.quad	.LVL35	# Location list begin address (*.LLST11)
+	.quad	.LVL36	# Location list end address (*.LLST11)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL36	# Location list begin address (*.LLST11)
+	.quad	.LVL38	# Location list end address (*.LLST11)
+	.value	0x1	# Location expression size
+	.byte	0x53	# DW_OP_reg3
+	.quad	.LVL38	# Location list begin address (*.LLST11)
+	.quad	.LVL39-1	# Location list end address (*.LLST11)
+	.value	0x3	# Location expression size
+	.byte	0x75	# DW_OP_breg5
+	.sleb128 -2
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	.LVL39-1	# Location list begin address (*.LLST11)
+	.quad	.LVL39	# Location list end address (*.LLST11)
+	.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	.LVL39	# Location list begin address (*.LLST11)
+	.quad	.LVL40	# Location list end address (*.LLST11)
+	.value	0x1	# Location expression size
+	.byte	0x53	# DW_OP_reg3
+	.quad	.LVL40	# Location list begin address (*.LLST11)
+	.quad	.LVL41	# Location list end address (*.LLST11)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL41	# Location list begin address (*.LLST11)
+	.quad	.LFE12	# Location list end address (*.LLST11)
+	.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 (*.LLST11)
+	.quad	0	# Location list terminator end (*.LLST11)
+.LLST12:
+	.quad	.LVL43	# Location list begin address (*.LLST12)
+	.quad	.LVL44-1	# Location list end address (*.LLST12)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL44-1	# Location list begin address (*.LLST12)
+	.quad	.LFE11	# Location list end address (*.LLST12)
+	.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 (*.LLST12)
+	.quad	0	# Location list terminator end (*.LLST12)
+.LLST13:
+	.quad	.LVL45	# Location list begin address (*.LLST13)
+	.quad	.LVL46	# Location list end address (*.LLST13)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL46	# Location list begin address (*.LLST13)
+	.quad	.LFE13	# Location list end address (*.LLST13)
+	.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 (*.LLST13)
+	.quad	0	# Location list terminator end (*.LLST13)
+.LLST14:
+	.quad	.LVL45	# Location list begin address (*.LLST14)
+	.quad	.LVL47-1	# Location list end address (*.LLST14)
+	.value	0x1	# Location expression size
+	.byte	0x54	# DW_OP_reg4
+	.quad	.LVL47-1	# Location list begin address (*.LLST14)
+	.quad	.LFE13	# Location list end address (*.LLST14)
+	.value	0x4	# Location expression size
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x54	# DW_OP_reg4
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	0	# Location list terminator begin (*.LLST14)
+	.quad	0	# Location list terminator end (*.LLST14)
+.LLST15:
+	.quad	.LVL45	# Location list begin address (*.LLST15)
+	.quad	.LVL47-1	# Location list end address (*.LLST15)
+	.value	0x1	# Location expression size
+	.byte	0x51	# DW_OP_reg1
+	.quad	.LVL47-1	# Location list begin address (*.LLST15)
+	.quad	.LFE13	# Location list end address (*.LLST15)
+	.value	0x4	# Location expression size
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x51	# DW_OP_reg1
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	0	# Location list terminator begin (*.LLST15)
+	.quad	0	# Location list terminator end (*.LLST15)
+.LLST16:
+	.quad	.LVL45	# Location list begin address (*.LLST16)
+	.quad	.LVL47-1	# Location list end address (*.LLST16)
+	.value	0x1	# Location expression size
+	.byte	0x52	# DW_OP_reg2
+	.quad	.LVL47-1	# Location list begin address (*.LLST16)
+	.quad	.LFE13	# Location list end address (*.LLST16)
+	.value	0x4	# Location expression size
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x52	# DW_OP_reg2
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	0	# Location list terminator begin (*.LLST16)
+	.quad	0	# Location list terminator end (*.LLST16)
+.LLST17:
+	.quad	.LVL45	# Location list begin address (*.LLST17)
+	.quad	.LVL47-1	# Location list end address (*.LLST17)
+	.value	0x1	# Location expression size
+	.byte	0x58	# DW_OP_reg8
+	.quad	.LVL47-1	# Location list begin address (*.LLST17)
+	.quad	.LFE13	# Location list end address (*.LLST17)
+	.value	0x4	# Location expression size
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x58	# DW_OP_reg8
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	0	# Location list terminator begin (*.LLST17)
+	.quad	0	# Location list terminator end (*.LLST17)
+.LLST18:
+	.quad	.LVL45	# Location list begin address (*.LLST18)
+	.quad	.LVL47-1	# Location list end address (*.LLST18)
+	.value	0x1	# Location expression size
+	.byte	0x59	# DW_OP_reg9
+	.quad	.LVL47-1	# Location list begin address (*.LLST18)
+	.quad	.LFE13	# Location list end address (*.LLST18)
+	.value	0x4	# Location expression size
+	.byte	0xf3	# DW_OP_GNU_entry_value
+	.uleb128 0x1
+	.byte	0x59	# DW_OP_reg9
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	0	# Location list terminator begin (*.LLST18)
+	.quad	0	# Location list terminator end (*.LLST18)
+.LLST19:
+	.quad	.LVL45	# Location list begin address (*.LLST19)
+	.quad	.LVL45	# Location list end address (*.LLST19)
+	.value	0x2	# Location expression size
+	.byte	0x91	# DW_OP_fbreg
+	.sleb128 0
+	.quad	.LVL45	# Location list begin address (*.LLST19)
+	.quad	.LFE13	# Location list end address (*.LLST19)
+	.value	0x2	# Location expression size
+	.byte	0x33	# DW_OP_lit3
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	0	# Location list terminator begin (*.LLST19)
+	.quad	0	# Location list terminator end (*.LLST19)
+.LLST20:
+	.quad	.LVL45	# Location list begin address (*.LLST20)
+	.quad	.LVL45	# Location list end address (*.LLST20)
+	.value	0x2	# Location expression size
+	.byte	0x91	# DW_OP_fbreg
+	.sleb128 8
+	.quad	.LVL45	# Location list begin address (*.LLST20)
+	.quad	.LFE13	# Location list end address (*.LLST20)
+	.value	0x2	# Location expression size
+	.byte	0x34	# DW_OP_lit4
+	.byte	0x9f	# DW_OP_stack_value
+	.quad	0	# Location list terminator begin (*.LLST20)
+	.quad	0	# Location list terminator end (*.LLST20)
+.LLST21:
+	.quad	.LVL49	# Location list begin address (*.LLST21)
+	.quad	.LVL50	# Location list end address (*.LLST21)
+	.value	0x1	# Location expression size
+	.byte	0x55	# DW_OP_reg5
+	.quad	.LVL50	# Location list begin address (*.LLST21)
+	.quad	.LFE14	# Location list end address (*.LLST21)
+	.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 (*.LLST21)
+	.quad	0	# Location list terminator end (*.LLST21)
+.LLST22:
+	.quad	.LFB15	# Location list begin address (*.LLST22)
+	.quad	.LCFI4	# Location list end address (*.LLST22)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 8
+	.quad	.LCFI4	# Location list begin address (*.LLST22)
+	.quad	.LCFI5	# Location list end address (*.LLST22)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 48
+	.quad	.LCFI5	# Location list begin address (*.LLST22)
+	.quad	.LCFI6	# Location list end address (*.LLST22)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 8
+	.quad	.LCFI6	# Location list begin address (*.LLST22)
+	.quad	.LFE15	# Location list end address (*.LLST22)
+	.value	0x2	# Location expression size
+	.byte	0x77	# DW_OP_breg7
+	.sleb128 48
+	.quad	0	# Location list terminator begin (*.LLST22)
+	.quad	0	# Location list terminator end (*.LLST22)
+	.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	.LFB15	# Address
+	.quad	.LFE15-.LFB15	# Length
+	.quad	0
+	.quad	0
+	.section	.debug_ranges,"",@progbits
+.Ldebug_ranges0:
+	.quad	.LBB3	# Offset 0
+	.quad	.LBE3
+	.quad	.LBB4
+	.quad	.LBE4
+	.quad	0
+	.quad	0
+	.quad	.Ltext0	# Offset 0x30
+	.quad	.Letext0
+	.quad	.LFB15	# Offset 0x40
+	.quad	.LFE15
+	.quad	0
+	.quad	0
+	.section	.debug_line,"",@progbits
+.Ldebug_line0:
+	.section	.debug_str,"MS",@progbits,1
+.LASF2:
+	.string	"amb_x"
+.LASF1:
+	.string	"amb_y"
+.LASF7:
+	.string	"stacktest"
+.LASF9:
+	.string	"refparam"
+.LASF5:
+	.string	"self"
+.LASF13:
+	.string	"gdb.arch/amd64-entry-value.cc"
+.LASF0:
+	.string	"amb_z"
+.LASF3:
+	.string	"amb_b"
+.LASF8:
+	.string	"reference"
+.LASF15:
+	.string	"main"
+.LASF11:
+	.string	"refvar"
+.LASF14:
+	.string	""
+.LASF10:
+	.string	"refcopy"
+.LASF12:
+	.string	"GNU C++ 4.7.0 20110711 (experimental)"
+.LASF6:
+	.string	"self2"
+.LASF4:
+	.string	"amb_a"
+	.ident	"GCC: (GNU) 4.7.0 20110711 (experimental)"
+	.section	.note.GNU-stack,"",@progbits


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-07-19 10:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-18 21:01 [patch 12/12] entryval: DWARF disassembler, NEWS, .s file Jan Kratochvil
2011-07-19 11:42 ` Eli Zaretskii

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox