aboutsummaryrefslogtreecommitdiff
path: root/gold/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'gold/testsuite')
-rw-r--r--gold/testsuite/Makefile.am45
-rw-r--r--gold/testsuite/Makefile.in49
-rw-r--r--gold/testsuite/dwp_test.h87
-rw-r--r--gold/testsuite/dwp_test_1.cc210
-rw-r--r--gold/testsuite/dwp_test_1.s2660
-rwxr-xr-xgold/testsuite/dwp_test_1.sh63
-rw-r--r--gold/testsuite/dwp_test_1b.cc35
-rw-r--r--gold/testsuite/dwp_test_1b.s549
-rw-r--r--gold/testsuite/dwp_test_2.cc144
-rw-r--r--gold/testsuite/dwp_test_2.s1714
-rwxr-xr-xgold/testsuite/dwp_test_2.sh63
-rw-r--r--gold/testsuite/dwp_test_main.cc59
-rw-r--r--gold/testsuite/dwp_test_main.s1399
13 files changed, 7075 insertions, 2 deletions
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index 4840f08..8bb16b6 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -21,6 +21,7 @@ AM_CPPFLAGS = \
TEST_READELF = $(top_builddir)/../binutils/readelf
TEST_OBJDUMP = $(top_builddir)/../binutils/objdump
+TEST_OBJCOPY = $(top_builddir)/../binutils/objcopy
TEST_CXXFILT = $(top_builddir)/../binutils/cxxfilt
TEST_STRIP = $(top_builddir)/../binutils/strip-new
TEST_AR = $(top_builddir)/../binutils/ar
@@ -2730,3 +2731,47 @@ endif DEFAULT_TARGET_ARM
endif NATIVE_OR_CROSS_LINKER
+# Tests for the dwp tool.
+# We don't want to rely yet on GCC support for -gsplit-dwarf,
+# so we use (for now) test cases in x86 assembly language,
+# compiled from the dwp_test_*.cc sources.
+
+if DEFAULT_TARGET_X86_64
+
+dwp_test_main.o: dwp_test_main.s
+ $(TEST_AS) -o $@ $<
+dwp_test_1.o: dwp_test_1.s
+ $(TEST_AS) -o $@ $<
+dwp_test_1b.o: dwp_test_1b.s
+ $(TEST_AS) -o $@ $<
+dwp_test_2.o: dwp_test_2.s
+ $(TEST_AS) -o $@ $<
+
+dwp_test_main.dwo: dwp_test_main.o
+ $(TEST_OBJCOPY) --extract-dwo $< $@
+dwp_test_1.dwo: dwp_test_1.o
+ $(TEST_OBJCOPY) --extract-dwo $< $@
+dwp_test_1b.dwo: dwp_test_1b.o
+ $(TEST_OBJCOPY) --extract-dwo $< $@
+dwp_test_2.dwo: dwp_test_2.o
+ $(TEST_OBJCOPY) --extract-dwo $< $@
+
+check_SCRIPTS += dwp_test_1.sh
+check_DATA += dwp_test_1.stdout
+dwp_test_1.stdout: dwp_test_1.dwp
+ $(TEST_READELF) -wi $< > $@
+dwp_test_1.dwp: ../dwp dwp_test_main.dwo dwp_test_1.dwo dwp_test_1b.dwo dwp_test_2.dwo
+ ../dwp -o $@ dwp_test_main.dwo dwp_test_1.dwo dwp_test_1b.dwo dwp_test_2.dwo
+
+check_SCRIPTS += dwp_test_2.sh
+check_DATA += dwp_test_2.stdout
+dwp_test_2.stdout: dwp_test_2.dwp
+ $(TEST_READELF) -wi $< > $@
+dwp_test_2.dwp: ../dwp dwp_test_2a.dwp dwp_test_2b.dwp
+ ../dwp -o $@ dwp_test_2a.dwp dwp_test_2b.dwp
+dwp_test_2a.dwp: ../dwp dwp_test_main.dwo dwp_test_1.dwo
+ ../dwp -o $@ dwp_test_main.dwo dwp_test_1.dwo
+dwp_test_2b.dwp: ../dwp dwp_test_1b.dwo dwp_test_2.dwo
+ ../dwp -o $@ dwp_test_1b.dwo dwp_test_2.dwo
+
+endif DEFAULT_TARGET_X86_64
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
index 27b3a90..80aeb09 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
@@ -653,6 +653,10 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_thumb_6m \
@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm \
@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ arm_farcall_thumb_arm_5t
+@DEFAULT_TARGET_X86_64_TRUE@am__append_76 = dwp_test_1.sh \
+@DEFAULT_TARGET_X86_64_TRUE@ dwp_test_2.sh
+@DEFAULT_TARGET_X86_64_TRUE@am__append_77 = dwp_test_1.stdout \
+@DEFAULT_TARGET_X86_64_TRUE@ dwp_test_2.stdout
subdir = testsuite
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -2005,6 +2009,7 @@ AM_CPPFLAGS = \
TEST_READELF = $(top_builddir)/../binutils/readelf
TEST_OBJDUMP = $(top_builddir)/../binutils/objdump
+TEST_OBJCOPY = $(top_builddir)/../binutils/objcopy
TEST_CXXFILT = $(top_builddir)/../binutils/cxxfilt
TEST_STRIP = $(top_builddir)/../binutils/strip-new
TEST_AR = $(top_builddir)/../binutils/ar
@@ -2031,11 +2036,12 @@ MOSTLYCLEANFILES = *.so *.syms *.stdout $(am__append_4) \
check_SCRIPTS = $(am__append_2) $(am__append_34) $(am__append_38) \
$(am__append_54) $(am__append_57) $(am__append_60) \
$(am__append_65) $(am__append_67) $(am__append_70) \
- $(am__append_73)
+ $(am__append_73) $(am__append_76)
check_DATA = $(am__append_3) $(am__append_27) $(am__append_29) \
$(am__append_35) $(am__append_39) $(am__append_55) \
$(am__append_58) $(am__append_61) $(am__append_66) \
- $(am__append_68) $(am__append_71) $(am__append_74)
+ $(am__append_68) $(am__append_71) $(am__append_74) \
+ $(am__append_77)
BUILT_SOURCES = $(am__append_25)
TESTS = $(check_SCRIPTS) $(check_PROGRAMS)
@@ -3792,6 +3798,10 @@ arm_farcall_thumb_thumb.sh.log: arm_farcall_thumb_thumb.sh
@p='arm_farcall_thumb_thumb.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
arm_farcall_thumb_arm.sh.log: arm_farcall_thumb_arm.sh
@p='arm_farcall_thumb_arm.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+dwp_test_1.sh.log: dwp_test_1.sh
+ @p='dwp_test_1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+dwp_test_2.sh.log: dwp_test_2.sh
+ @p='dwp_test_2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
object_unittest.log: object_unittest$(EXEEXT)
@p='object_unittest$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
binary_unittest.log: binary_unittest$(EXEEXT)
@@ -5648,6 +5658,41 @@ uninstall-am:
@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@arm_farcall_thumb_arm_5t.o: arm_farcall_thumb_arm.s
@DEFAULT_TARGET_ARM_TRUE@@NATIVE_OR_CROSS_LINKER_TRUE@ $(TEST_AS) -march=armv5t -o $@ $<
+# Tests for the dwp tool.
+# We don't want to rely yet on GCC support for -gsplit-dwarf,
+# so we use (for now) test cases in x86 assembly language,
+# compiled from the dwp_test_*.cc sources.
+
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_main.o: dwp_test_main.s
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_AS) -o $@ $<
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_1.o: dwp_test_1.s
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_AS) -o $@ $<
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_1b.o: dwp_test_1b.s
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_AS) -o $@ $<
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_2.o: dwp_test_2.s
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_AS) -o $@ $<
+
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_main.dwo: dwp_test_main.o
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_OBJCOPY) --extract-dwo $< $@
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_1.dwo: dwp_test_1.o
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_OBJCOPY) --extract-dwo $< $@
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_1b.dwo: dwp_test_1b.o
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_OBJCOPY) --extract-dwo $< $@
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_2.dwo: dwp_test_2.o
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_OBJCOPY) --extract-dwo $< $@
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_1.stdout: dwp_test_1.dwp
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_READELF) -wi $< > $@
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_1.dwp: ../dwp dwp_test_main.dwo dwp_test_1.dwo dwp_test_1b.dwo dwp_test_2.dwo
+@DEFAULT_TARGET_X86_64_TRUE@ ../dwp -o $@ dwp_test_main.dwo dwp_test_1.dwo dwp_test_1b.dwo dwp_test_2.dwo
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_2.stdout: dwp_test_2.dwp
+@DEFAULT_TARGET_X86_64_TRUE@ $(TEST_READELF) -wi $< > $@
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_2.dwp: ../dwp dwp_test_2a.dwp dwp_test_2b.dwp
+@DEFAULT_TARGET_X86_64_TRUE@ ../dwp -o $@ dwp_test_2a.dwp dwp_test_2b.dwp
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_2a.dwp: ../dwp dwp_test_main.dwo dwp_test_1.dwo
+@DEFAULT_TARGET_X86_64_TRUE@ ../dwp -o $@ dwp_test_main.dwo dwp_test_1.dwo
+@DEFAULT_TARGET_X86_64_TRUE@dwp_test_2b.dwp: ../dwp dwp_test_1b.dwo dwp_test_2.dwo
+@DEFAULT_TARGET_X86_64_TRUE@ ../dwp -o $@ dwp_test_1b.dwo dwp_test_2.dwo
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/gold/testsuite/dwp_test.h b/gold/testsuite/dwp_test.h
new file mode 100644
index 0000000..37256d3
--- /dev/null
+++ b/gold/testsuite/dwp_test.h
@@ -0,0 +1,87 @@
+// dwp_test.h -- a test case for dwp, header file -*- C++ -*-
+
+// Copyright 2012 Free Software Foundation, Inc.
+// Written by Cary Coutant <ccoutant@google.com>.
+
+// This file is part of gold.
+
+// 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, write to the Free Software
+// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+// MA 02110-1301, USA.
+
+// Adapted from two_file_test.h.
+
+class C1
+{
+ public:
+ bool testcase1();
+ bool t1a();
+ int t1_2();
+ bool testcase2();
+ bool testcase3();
+ bool testcase4();
+ int member1;
+};
+
+class C2
+{
+ public:
+ bool testcase1();
+ bool testcase2();
+ bool testcase3();
+ bool testcase4();
+ int member1;
+};
+
+class C3
+{
+ public:
+ bool testcase1();
+ bool testcase2();
+ bool testcase3();
+ bool (*f4())();
+ int member1;
+};
+
+extern C3 c3;
+
+extern int v2;
+extern int v3;
+extern char v4[];
+extern char v5[];
+
+extern int f10();
+extern int f11a();
+extern int f11b(int (*)());
+extern bool t12();
+
+extern bool t13();
+inline void f13i() { }
+extern void (*f13())();
+
+#define TEST_STRING_CONSTANT "test string constant"
+extern const char* f14();
+
+#define TEST_WIDE_STRING_CONSTANT L"test wide string constant"
+extern const wchar_t* f15();
+
+extern bool t16();
+extern bool t16a();
+
+extern bool t17();
+extern const char* t17data[];
+#define T17_COUNT 5
+
+extern bool t18();
+extern const char* f18(int);
diff --git a/gold/testsuite/dwp_test_1.cc b/gold/testsuite/dwp_test_1.cc
new file mode 100644
index 0000000..71fbc5b
--- /dev/null
+++ b/gold/testsuite/dwp_test_1.cc
@@ -0,0 +1,210 @@
+// dwp_test_1.cc -- a test case for dwp
+
+// Copyright 2012 Free Software Foundation, Inc.
+// Written by Cary Coutant <ccoutant@google.com>.
+
+// This file is part of gold.
+
+// 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, write to the Free Software
+// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+// MA 02110-1301, USA.
+
+// Adapted from two_file_test_1.cc.
+
+#include "dwp_test.h"
+
+// 1 Code in file 1 calls code in file 2.
+
+bool
+C1::testcase1()
+{
+ return t1_2() == 123;
+}
+
+// 2 Code in file 1 refers to global data in file 2.
+
+bool
+C1::testcase2()
+{
+ return v2 == 456;
+}
+
+// 3 Code in file 1 referes to common symbol in file 2.
+
+bool
+C1::testcase3()
+{
+ return v3 == 789;
+}
+
+// 4 Code in file 1 refers to offset within global data in file 2.
+
+bool
+C1::testcase4()
+{
+ return v4[5] == ',';
+}
+
+// 5 Code in file 1 refers to offset within common symbol in file 2.
+
+bool
+C2::testcase1()
+{
+ return v5[7] == 'w';
+}
+
+// 6 Data in file 1 refers to global data in file 2.
+
+int* p6 = &v2;
+
+bool
+C2::testcase2()
+{
+ return *p6 == 456;
+}
+
+// 7 Data in file 1 refers to common symbol in file 2.
+
+int* p7 = &v3;
+
+bool
+C2::testcase3()
+{
+ return *p7 == 789;
+}
+
+// 8 Data in file 1 refers to offset within global data in file 2.
+
+char* p8 = &v4[6];
+
+bool
+C2::testcase4()
+{
+ return *p8 == ' ';
+}
+
+// 9 Data in file 1 refers to offset within common symbol in file 2.
+
+char* p9 = &v5[8];
+
+bool
+C3::testcase1()
+{
+ return *p9 == 'o';
+}
+
+// 10 Data in file 1 refers to function in file 2.
+
+int (*pfn)() = &f10;
+
+bool
+C3::testcase2()
+{
+ return (*pfn)() == 135;
+}
+
+// 11 Pass function pointer from file 1 to file 2.
+
+int
+f11a()
+{
+ return 246;
+}
+
+bool
+C3::testcase3()
+{
+ return f11b(&f11a) == 246;
+}
+
+// 12 Compare address of function for equality in both files.
+
+bool
+t12()
+{
+ return &t12 == c3.f4();
+}
+
+// 13 Compare address of inline function for equality in both files.
+
+bool
+t13()
+{
+ return &f13i == f13();
+}
+
+// 14 Compare string constants in file 1 and file 2.
+
+bool
+t14()
+{
+ const char* s1 = TEST_STRING_CONSTANT;
+ const char* s2 = f14();
+ while (*s1 != '\0')
+ if (*s1++ != *s2++)
+ return false;
+ return *s2 == '\0';
+}
+
+// 15 Compare wide string constants in file 1 and file 2.
+
+bool
+t15()
+{
+ const wchar_t* s1 = TEST_WIDE_STRING_CONSTANT;
+ const wchar_t* s2 = f15();
+ while (*s1 != '\0')
+ if (*s1++ != *s2++)
+ return false;
+ return *s2 == '\0';
+}
+
+// 16 Call a function directly after its address has been taken.
+
+bool
+t16()
+{
+ return f10() == 135;
+}
+
+// 17 File 1 checks array of string constants defined in file 2.
+
+bool
+t17()
+{
+ char c = 'a';
+ for (int i = 0; i < T17_COUNT; ++i)
+ {
+ if (t17data[i][0] != c || t17data[i][1] != '\0')
+ return false;
+ ++c;
+ }
+ return true;
+}
+
+// 18 File 1 checks string constants referenced in code in file 2.
+
+bool
+t18()
+{
+ char c = 'a';
+ for (int i = 0; i < T17_COUNT; ++i)
+ {
+ const char* s = f18(i);
+ if (s[0] != c || s[1] != '\0')
+ return false;
+ ++c;
+ }
+ return true;
+}
diff --git a/gold/testsuite/dwp_test_1.s b/gold/testsuite/dwp_test_1.s
new file mode 100644
index 0000000..d3a898d
--- /dev/null
+++ b/gold/testsuite/dwp_test_1.s
@@ -0,0 +1,2660 @@
+ .file "dwp_test_1.cc"
+ .text
+.Ltext0:
+ .section .text._Z4f13iv,"axG",@progbits,_Z4f13iv,comdat
+ .weak _Z4f13iv
+ .type _Z4f13iv, @function
+_Z4f13iv:
+.LFB0:
+ .file 1 "dwp_test.h"
+ .loc 1 70 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 1 70 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE0:
+ .size _Z4f13iv, .-_Z4f13iv
+ .text
+ .align 2
+ .globl _ZN2C19testcase1Ev
+ .type _ZN2C19testcase1Ev, @function
+_ZN2C19testcase1Ev:
+.LFB1:
+ .file 2 "dwp_test_1.cc"
+ .loc 2 31 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $16, %rsp
+ movq %rdi, -8(%rbp)
+ .loc 2 32 0
+ movq -8(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C14t1_2Ev
+ cmpl $123, %eax
+ sete %al
+ .loc 2 33 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE1:
+ .size _ZN2C19testcase1Ev, .-_ZN2C19testcase1Ev
+ .align 2
+ .globl _ZN2C19testcase2Ev
+ .type _ZN2C19testcase2Ev, @function
+_ZN2C19testcase2Ev:
+.LFB2:
+ .loc 2 39 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 40 0
+ movl v2(%rip), %eax
+ cmpl $456, %eax
+ sete %al
+ .loc 2 41 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE2:
+ .size _ZN2C19testcase2Ev, .-_ZN2C19testcase2Ev
+ .align 2
+ .globl _ZN2C19testcase3Ev
+ .type _ZN2C19testcase3Ev, @function
+_ZN2C19testcase3Ev:
+.LFB3:
+ .loc 2 47 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 48 0
+ movl v3(%rip), %eax
+ cmpl $789, %eax
+ sete %al
+ .loc 2 49 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE3:
+ .size _ZN2C19testcase3Ev, .-_ZN2C19testcase3Ev
+ .align 2
+ .globl _ZN2C19testcase4Ev
+ .type _ZN2C19testcase4Ev, @function
+_ZN2C19testcase4Ev:
+.LFB4:
+ .loc 2 55 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 56 0
+ movzbl v4+5(%rip), %eax
+ cmpb $44, %al
+ sete %al
+ .loc 2 57 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE4:
+ .size _ZN2C19testcase4Ev, .-_ZN2C19testcase4Ev
+ .align 2
+ .globl _ZN2C29testcase1Ev
+ .type _ZN2C29testcase1Ev, @function
+_ZN2C29testcase1Ev:
+.LFB5:
+ .loc 2 63 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 64 0
+ movzbl v5+7(%rip), %eax
+ cmpb $119, %al
+ sete %al
+ .loc 2 65 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE5:
+ .size _ZN2C29testcase1Ev, .-_ZN2C29testcase1Ev
+ .globl p6
+ .data
+ .align 8
+ .type p6, @object
+ .size p6, 8
+p6:
+ .quad v2
+ .text
+ .align 2
+ .globl _ZN2C29testcase2Ev
+ .type _ZN2C29testcase2Ev, @function
+_ZN2C29testcase2Ev:
+.LFB6:
+ .loc 2 73 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 74 0
+ movq p6(%rip), %rax
+ movl (%rax), %eax
+ cmpl $456, %eax
+ sete %al
+ .loc 2 75 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE6:
+ .size _ZN2C29testcase2Ev, .-_ZN2C29testcase2Ev
+ .globl p7
+ .data
+ .align 8
+ .type p7, @object
+ .size p7, 8
+p7:
+ .quad v3
+ .text
+ .align 2
+ .globl _ZN2C29testcase3Ev
+ .type _ZN2C29testcase3Ev, @function
+_ZN2C29testcase3Ev:
+.LFB7:
+ .loc 2 83 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 84 0
+ movq p7(%rip), %rax
+ movl (%rax), %eax
+ cmpl $789, %eax
+ sete %al
+ .loc 2 85 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE7:
+ .size _ZN2C29testcase3Ev, .-_ZN2C29testcase3Ev
+ .globl p8
+ .data
+ .align 8
+ .type p8, @object
+ .size p8, 8
+p8:
+ .quad v4+6
+ .text
+ .align 2
+ .globl _ZN2C29testcase4Ev
+ .type _ZN2C29testcase4Ev, @function
+_ZN2C29testcase4Ev:
+.LFB8:
+ .loc 2 93 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 94 0
+ movq p8(%rip), %rax
+ movzbl (%rax), %eax
+ cmpb $32, %al
+ sete %al
+ .loc 2 95 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE8:
+ .size _ZN2C29testcase4Ev, .-_ZN2C29testcase4Ev
+ .globl p9
+ .data
+ .align 8
+ .type p9, @object
+ .size p9, 8
+p9:
+ .quad v5+8
+ .text
+ .align 2
+ .globl _ZN2C39testcase1Ev
+ .type _ZN2C39testcase1Ev, @function
+_ZN2C39testcase1Ev:
+.LFB9:
+ .loc 2 103 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 104 0
+ movq p9(%rip), %rax
+ movzbl (%rax), %eax
+ cmpb $111, %al
+ sete %al
+ .loc 2 105 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE9:
+ .size _ZN2C39testcase1Ev, .-_ZN2C39testcase1Ev
+ .globl pfn
+ .data
+ .align 8
+ .type pfn, @object
+ .size pfn, 8
+pfn:
+ .quad _Z3f10v
+ .text
+ .align 2
+ .globl _ZN2C39testcase2Ev
+ .type _ZN2C39testcase2Ev, @function
+_ZN2C39testcase2Ev:
+.LFB10:
+ .loc 2 113 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $16, %rsp
+ movq %rdi, -8(%rbp)
+ .loc 2 114 0
+ movq pfn(%rip), %rax
+ call *%rax
+ cmpl $135, %eax
+ sete %al
+ .loc 2 115 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE10:
+ .size _ZN2C39testcase2Ev, .-_ZN2C39testcase2Ev
+ .globl _Z4f11av
+ .type _Z4f11av, @function
+_Z4f11av:
+.LFB11:
+ .loc 2 121 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 2 122 0
+ movl $246, %eax
+ .loc 2 123 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE11:
+ .size _Z4f11av, .-_Z4f11av
+ .align 2
+ .globl _ZN2C39testcase3Ev
+ .type _ZN2C39testcase3Ev, @function
+_ZN2C39testcase3Ev:
+.LFB12:
+ .loc 2 127 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $16, %rsp
+ movq %rdi, -8(%rbp)
+ .loc 2 128 0
+ movl $_Z4f11av, %edi
+ call _Z4f11bPFivE
+ cmpl $246, %eax
+ sete %al
+ .loc 2 129 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE12:
+ .size _ZN2C39testcase3Ev, .-_ZN2C39testcase3Ev
+ .globl _Z3t12v
+ .type _Z3t12v, @function
+_Z3t12v:
+.LFB13:
+ .loc 2 135 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 2 136 0
+ movl $c3, %edi
+ call _ZN2C32f4Ev
+ cmpq $_Z3t12v, %rax
+ sete %al
+ .loc 2 137 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE13:
+ .size _Z3t12v, .-_Z3t12v
+ .globl _Z3t13v
+ .type _Z3t13v, @function
+_Z3t13v:
+.LFB14:
+ .loc 2 143 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 2 144 0
+ call _Z3f13v
+ cmpq $_Z4f13iv, %rax
+ sete %al
+ .loc 2 145 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE14:
+ .size _Z3t13v, .-_Z3t13v
+ .section .rodata
+.LC0:
+ .string "test string constant"
+ .text
+ .globl _Z3t14v
+ .type _Z3t14v, @function
+_Z3t14v:
+.LFB15:
+ .loc 2 151 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $16, %rsp
+.LBB2:
+ .loc 2 152 0
+ movq $.LC0, -8(%rbp)
+ .loc 2 153 0
+ call _Z3f14v
+ movq %rax, -16(%rbp)
+ .loc 2 154 0
+ jmp .L31
+.L33:
+ .loc 2 155 0
+ movq -8(%rbp), %rax
+ movzbl (%rax), %edx
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb %al, %dl
+ setne %al
+ addq $1, -8(%rbp)
+ addq $1, -16(%rbp)
+ testb %al, %al
+ je .L31
+ .loc 2 156 0
+ movl $0, %eax
+ jmp .L32
+.L31:
+ .loc 2 154 0 discriminator 1
+ movq -8(%rbp), %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ setne %al
+ testb %al, %al
+ jne .L33
+ .loc 2 157 0
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ sete %al
+.L32:
+.LBE2:
+ .loc 2 158 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE15:
+ .size _Z3t14v, .-_Z3t14v
+ .section .rodata
+ .align 8
+.LC1:
+ .string "t"
+ .string ""
+ .string ""
+ .string "e"
+ .string ""
+ .string ""
+ .string "s"
+ .string ""
+ .string ""
+ .string "t"
+ .string ""
+ .string ""
+ .string " "
+ .string ""
+ .string ""
+ .string "w"
+ .string ""
+ .string ""
+ .string "i"
+ .string ""
+ .string ""
+ .string "d"
+ .string ""
+ .string ""
+ .string "e"
+ .string ""
+ .string ""
+ .string " "
+ .string ""
+ .string ""
+ .string "s"
+ .string ""
+ .string ""
+ .string "t"
+ .string ""
+ .string ""
+ .string "r"
+ .string ""
+ .string ""
+ .string "i"
+ .string ""
+ .string ""
+ .string "n"
+ .string ""
+ .string ""
+ .string "g"
+ .string ""
+ .string ""
+ .string " "
+ .string ""
+ .string ""
+ .string "c"
+ .string ""
+ .string ""
+ .string "o"
+ .string ""
+ .string ""
+ .string "n"
+ .string ""
+ .string ""
+ .string "s"
+ .string ""
+ .string ""
+ .string "t"
+ .string ""
+ .string ""
+ .string "a"
+ .string ""
+ .string ""
+ .string "n"
+ .string ""
+ .string ""
+ .string "t"
+ .string ""
+ .string ""
+ .string ""
+ .string ""
+ .string ""
+ .string ""
+ .text
+ .globl _Z3t15v
+ .type _Z3t15v, @function
+_Z3t15v:
+.LFB16:
+ .loc 2 164 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $16, %rsp
+.LBB3:
+ .loc 2 165 0
+ movq $.LC1, -8(%rbp)
+ .loc 2 166 0
+ call _Z3f15v
+ movq %rax, -16(%rbp)
+ .loc 2 167 0
+ jmp .L35
+.L37:
+ .loc 2 168 0
+ movq -8(%rbp), %rax
+ movl (%rax), %edx
+ movq -16(%rbp), %rax
+ movl (%rax), %eax
+ cmpl %eax, %edx
+ setne %al
+ addq $4, -8(%rbp)
+ addq $4, -16(%rbp)
+ testb %al, %al
+ je .L35
+ .loc 2 169 0
+ movl $0, %eax
+ jmp .L36
+.L35:
+ .loc 2 167 0 discriminator 1
+ movq -8(%rbp), %rax
+ movl (%rax), %eax
+ testl %eax, %eax
+ setne %al
+ testb %al, %al
+ jne .L37
+ .loc 2 170 0
+ movq -16(%rbp), %rax
+ movl (%rax), %eax
+ testl %eax, %eax
+ sete %al
+.L36:
+.LBE3:
+ .loc 2 171 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE16:
+ .size _Z3t15v, .-_Z3t15v
+ .globl _Z3t16v
+ .type _Z3t16v, @function
+_Z3t16v:
+.LFB17:
+ .loc 2 177 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 2 178 0
+ call _Z3f10v
+ cmpl $135, %eax
+ sete %al
+ .loc 2 179 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE17:
+ .size _Z3t16v, .-_Z3t16v
+ .globl _Z3t17v
+ .type _Z3t17v, @function
+_Z3t17v:
+.LFB18:
+ .loc 2 185 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+.LBB4:
+ .loc 2 186 0
+ movb $97, -1(%rbp)
+.LBB5:
+ .loc 2 187 0
+ movl $0, -8(%rbp)
+ jmp .L41
+.L45:
+ .loc 2 189 0
+ movl -8(%rbp), %eax
+ cltq
+ movq t17data(,%rax,8), %rax
+ movzbl (%rax), %eax
+ cmpb -1(%rbp), %al
+ jne .L42
+ .loc 2 189 0 is_stmt 0 discriminator 1
+ movl -8(%rbp), %eax
+ cltq
+ movq t17data(,%rax,8), %rax
+ addq $1, %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ je .L43
+.L42:
+ .loc 2 190 0 is_stmt 1
+ movl $0, %eax
+ jmp .L44
+.L43:
+ .loc 2 191 0
+ addb $1, -1(%rbp)
+ .loc 2 187 0
+ addl $1, -8(%rbp)
+.L41:
+ .loc 2 187 0 is_stmt 0 discriminator 1
+ cmpl $4, -8(%rbp)
+ setle %al
+ testb %al, %al
+ jne .L45
+.LBE5:
+ .loc 2 193 0 is_stmt 1
+ movl $1, %eax
+.L44:
+.LBE4:
+ .loc 2 194 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE18:
+ .size _Z3t17v, .-_Z3t17v
+ .globl _Z3t18v
+ .type _Z3t18v, @function
+_Z3t18v:
+.LFB19:
+ .loc 2 200 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $16, %rsp
+.LBB6:
+ .loc 2 201 0
+ movb $97, -1(%rbp)
+.LBB7:
+ .loc 2 202 0
+ movl $0, -8(%rbp)
+ jmp .L47
+.L51:
+.LBB8:
+ .loc 2 204 0
+ movl -8(%rbp), %eax
+ movl %eax, %edi
+ call _Z3f18i
+ movq %rax, -16(%rbp)
+ .loc 2 205 0
+ movq -16(%rbp), %rax
+ movzbl (%rax), %eax
+ cmpb -1(%rbp), %al
+ jne .L48
+ .loc 2 205 0 is_stmt 0 discriminator 1
+ movq -16(%rbp), %rax
+ addq $1, %rax
+ movzbl (%rax), %eax
+ testb %al, %al
+ je .L49
+.L48:
+ .loc 2 206 0 is_stmt 1
+ movl $0, %eax
+ jmp .L50
+.L49:
+ .loc 2 207 0
+ addb $1, -1(%rbp)
+.LBE8:
+ .loc 2 202 0
+ addl $1, -8(%rbp)
+.L47:
+ .loc 2 202 0 is_stmt 0 discriminator 1
+ cmpl $4, -8(%rbp)
+ setle %al
+ testb %al, %al
+ jne .L51
+.LBE7:
+ .loc 2 209 0 is_stmt 1
+ movl $1, %eax
+.L50:
+.LBE6:
+ .loc 2 210 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE19:
+ .size _Z3t18v, .-_Z3t18v
+.Letext0:
+ .section .debug_types.dwo,"G",@progbits,wt.bb2916f0c1bd34b5,comdat
+ .long 0xc1
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x8a
+ .byte 0xda
+ .byte 0x59
+ .byte 0x6e
+ .byte 0x4d
+ .byte 0x5c
+ .byte 0xa
+ .byte 0x88
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C3"
+ .byte 0x4
+ .byte 0x1
+ .byte 0x2f
+ .long 0xa4
+ .uleb128 0x3
+ .uleb128 0x6
+ .byte 0x1
+ .byte 0x36
+ .long 0xa4
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .uleb128 0
+ .byte 0x1
+ .byte 0x32
+ .uleb128 0x2
+ .long 0xab
+ .byte 0x1
+ .long 0x4c
+ .long 0x52
+ .uleb128 0x5
+ .long 0xb3
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x33
+ .uleb128 0x3
+ .long 0xab
+ .byte 0x1
+ .long 0x64
+ .long 0x6a
+ .uleb128 0x5
+ .long 0xb3
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x4
+ .byte 0x1
+ .byte 0x34
+ .uleb128 0x5
+ .long 0xab
+ .byte 0x1
+ .long 0x7c
+ .long 0x82
+ .uleb128 0x5
+ .long 0xb3
+ .byte 0
+ .uleb128 0x6
+ .string "f4"
+ .byte 0x1
+ .byte 0x35
+ .string "_ZN2C32f4Ev"
+ .long 0xb9
+ .byte 0x1
+ .long 0x9d
+ .uleb128 0x5
+ .long 0xb3
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .uleb128 0x8
+ .byte 0x8
+ .long 0xbf
+ .uleb128 0x9
+ .long 0xab
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.bb2916f0c1bd34b5,comdat
+ .long 0x6e
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_1.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_types.dwo,"G",@progbits,wt.66526f88bcc798ab,comdat
+ .long 0xa9
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0x66
+ .byte 0x52
+ .byte 0x6f
+ .byte 0x88
+ .byte 0xbc
+ .byte 0xc7
+ .byte 0x98
+ .byte 0xab
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x4b
+ .byte 0xf9
+ .byte 0xce
+ .byte 0xbf
+ .byte 0xd8
+ .byte 0xf0
+ .byte 0x4a
+ .byte 0xae
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C2"
+ .byte 0x4
+ .byte 0x1
+ .byte 0x25
+ .long 0x97
+ .uleb128 0x3
+ .uleb128 0x6
+ .byte 0x1
+ .byte 0x2c
+ .long 0x97
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .uleb128 0
+ .byte 0x1
+ .byte 0x28
+ .uleb128 0x7
+ .long 0x9e
+ .byte 0x1
+ .long 0x4c
+ .long 0x52
+ .uleb128 0x5
+ .long 0xa6
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x29
+ .uleb128 0x8
+ .long 0x9e
+ .byte 0x1
+ .long 0x64
+ .long 0x6a
+ .uleb128 0x5
+ .long 0xa6
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x4
+ .byte 0x1
+ .byte 0x2a
+ .uleb128 0x9
+ .long 0x9e
+ .byte 0x1
+ .long 0x7c
+ .long 0x82
+ .uleb128 0x5
+ .long 0xa6
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0xa
+ .byte 0x1
+ .byte 0x2b
+ .uleb128 0xb
+ .long 0x9e
+ .byte 0x1
+ .long 0x90
+ .uleb128 0x5
+ .long 0xa6
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.66526f88bcc798ab,comdat
+ .long 0x6e
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0x66
+ .byte 0x52
+ .byte 0x6f
+ .byte 0x88
+ .byte 0xbc
+ .byte 0xc7
+ .byte 0x98
+ .byte 0xab
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_1.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_types.dwo,"G",@progbits,wt.c419a9b7a4a2fab5,comdat
+ .long 0xf9
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0xe3
+ .byte 0xad
+ .byte 0x5
+ .byte 0x3b
+ .byte 0x75
+ .byte 0xeb
+ .byte 0xfb
+ .byte 0xc7
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C1"
+ .byte 0x4
+ .byte 0x1
+ .byte 0x19
+ .long 0xe7
+ .uleb128 0x3
+ .uleb128 0x6
+ .byte 0x1
+ .byte 0x22
+ .long 0xe7
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .uleb128 0
+ .byte 0x1
+ .byte 0x1c
+ .uleb128 0xc
+ .long 0xee
+ .byte 0x1
+ .long 0x4c
+ .long 0x52
+ .uleb128 0x5
+ .long 0xf6
+ .byte 0
+ .uleb128 0xb
+ .string "t1a"
+ .byte 0x1
+ .byte 0x1d
+ .string "_ZN2C13t1aEv"
+ .long 0xee
+ .byte 0x1
+ .long 0x73
+ .long 0x79
+ .uleb128 0x5
+ .long 0xf6
+ .byte 0
+ .uleb128 0xb
+ .string "t1_2"
+ .byte 0x1
+ .byte 0x1e
+ .string "_ZN2C14t1_2Ev"
+ .long 0xe7
+ .byte 0x1
+ .long 0x9c
+ .long 0xa2
+ .uleb128 0x5
+ .long 0xf6
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x1f
+ .uleb128 0xd
+ .long 0xee
+ .byte 0x1
+ .long 0xb4
+ .long 0xba
+ .uleb128 0x5
+ .long 0xf6
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x4
+ .byte 0x1
+ .byte 0x20
+ .uleb128 0xe
+ .long 0xee
+ .byte 0x1
+ .long 0xcc
+ .long 0xd2
+ .uleb128 0x5
+ .long 0xf6
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0xa
+ .byte 0x1
+ .byte 0x21
+ .uleb128 0xf
+ .long 0xee
+ .byte 0x1
+ .long 0xe0
+ .uleb128 0x5
+ .long 0xf6
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.c419a9b7a4a2fab5,comdat
+ .long 0x6e
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_1.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_info.dwo,"e",@progbits
+.Ldebug_info0:
+ .long 0x5af
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .uleb128 0xc
+ .string "GNU C++ 4.7.x-google 20120720 (prerelease)"
+ .byte 0x4
+ .string "dwp_test_1.cc"
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .byte 0x27
+ .byte 0x37
+ .byte 0xdc
+ .byte 0x2f
+ .byte 0x9
+ .byte 0xc6
+ .byte 0xf9
+ .byte 0x52
+ .uleb128 0xd
+ .string "C1"
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .long 0xc6
+ .uleb128 0xe
+ .uleb128 0
+ .byte 0x1
+ .byte 0x1c
+ .uleb128 0xc
+ .long 0xcd
+ .byte 0x1
+ .uleb128 0xe
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x1f
+ .uleb128 0xd
+ .long 0xcd
+ .byte 0x1
+ .uleb128 0xe
+ .uleb128 0x4
+ .byte 0x1
+ .byte 0x20
+ .uleb128 0xe
+ .long 0xcd
+ .byte 0x1
+ .uleb128 0xe
+ .uleb128 0xa
+ .byte 0x1
+ .byte 0x21
+ .uleb128 0xf
+ .long 0xcd
+ .byte 0x1
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0xf
+ .byte 0x8
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .uleb128 0xd
+ .string "C2"
+ .byte 0x66
+ .byte 0x52
+ .byte 0x6f
+ .byte 0x88
+ .byte 0xbc
+ .byte 0xc7
+ .byte 0x98
+ .byte 0xab
+ .long 0x118
+ .uleb128 0xe
+ .uleb128 0
+ .byte 0x1
+ .byte 0x28
+ .uleb128 0x7
+ .long 0xcd
+ .byte 0x1
+ .uleb128 0xe
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x29
+ .uleb128 0x8
+ .long 0xcd
+ .byte 0x1
+ .uleb128 0xe
+ .uleb128 0x4
+ .byte 0x1
+ .byte 0x2a
+ .uleb128 0x9
+ .long 0xcd
+ .byte 0x1
+ .uleb128 0xe
+ .uleb128 0xa
+ .byte 0x1
+ .byte 0x2b
+ .uleb128 0xb
+ .long 0xcd
+ .byte 0x1
+ .byte 0
+ .uleb128 0xf
+ .byte 0x8
+ .byte 0x66
+ .byte 0x52
+ .byte 0x6f
+ .byte 0x88
+ .byte 0xbc
+ .byte 0xc7
+ .byte 0x98
+ .byte 0xab
+ .uleb128 0xd
+ .string "C3"
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0x151
+ .uleb128 0xe
+ .uleb128 0
+ .byte 0x1
+ .byte 0x32
+ .uleb128 0x2
+ .long 0xcd
+ .byte 0x1
+ .uleb128 0xe
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x33
+ .uleb128 0x3
+ .long 0xcd
+ .byte 0x1
+ .uleb128 0xe
+ .uleb128 0x4
+ .byte 0x1
+ .byte 0x34
+ .uleb128 0x5
+ .long 0xcd
+ .byte 0x1
+ .byte 0
+ .uleb128 0xf
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .uleb128 0x10
+ .string "f13i"
+ .byte 0x1
+ .byte 0x46
+ .string "_Z4f13iv"
+ .uleb128 0
+ .quad .LFE0-.LFB0
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x11
+ .long 0x9d
+ .byte 0x2
+ .byte 0x1e
+ .uleb128 0x1
+ .quad .LFE1-.LFB1
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x191
+ .long 0x19b
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x19b
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x13
+ .long 0xd5
+ .uleb128 0x14
+ .long 0xa7
+ .byte 0x2
+ .byte 0x26
+ .uleb128 0x2
+ .quad .LFE2-.LFB2
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x1ba
+ .long 0x1c4
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x19b
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x14
+ .long 0xb1
+ .byte 0x2
+ .byte 0x2e
+ .uleb128 0x3
+ .quad .LFE3-.LFB3
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x1de
+ .long 0x1e8
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x19b
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x14
+ .long 0xbb
+ .byte 0x2
+ .byte 0x36
+ .uleb128 0x4
+ .quad .LFE4-.LFB4
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x202
+ .long 0x20c
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x19b
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x14
+ .long 0xef
+ .byte 0x2
+ .byte 0x3e
+ .uleb128 0x5
+ .quad .LFE5-.LFB5
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x226
+ .long 0x230
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x230
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x13
+ .long 0x118
+ .uleb128 0x14
+ .long 0xf9
+ .byte 0x2
+ .byte 0x48
+ .uleb128 0x6
+ .quad .LFE6-.LFB6
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x24f
+ .long 0x259
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x230
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x14
+ .long 0x103
+ .byte 0x2
+ .byte 0x52
+ .uleb128 0x7
+ .quad .LFE7-.LFB7
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x273
+ .long 0x27d
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x230
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x14
+ .long 0x10d
+ .byte 0x2
+ .byte 0x5c
+ .uleb128 0x8
+ .quad .LFE8-.LFB8
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x297
+ .long 0x2a1
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x230
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x14
+ .long 0x132
+ .byte 0x2
+ .byte 0x66
+ .uleb128 0x9
+ .quad .LFE9-.LFB9
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x2bb
+ .long 0x2c5
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x2c5
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x13
+ .long 0x151
+ .uleb128 0x11
+ .long 0x13c
+ .byte 0x2
+ .byte 0x70
+ .uleb128 0xa
+ .quad .LFE10-.LFB10
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x2e4
+ .long 0x2ee
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x2c5
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x15
+ .string "f11a"
+ .byte 0x2
+ .byte 0x78
+ .string "_Z4f11av"
+ .long 0xc6
+ .uleb128 0xb
+ .quad .LFE11-.LFB11
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x11
+ .long 0x146
+ .byte 0x2
+ .byte 0x7e
+ .uleb128 0xc
+ .quad .LFE12-.LFB12
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x328
+ .long 0x332
+ .uleb128 0x12
+ .uleb128 0x10
+ .long 0x2c5
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x16
+ .string "t12"
+ .byte 0x2
+ .byte 0x86
+ .string "_Z3t12v"
+ .long 0xcd
+ .uleb128 0xd
+ .quad .LFE13-.LFB13
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x16
+ .string "t13"
+ .byte 0x2
+ .byte 0x8e
+ .string "_Z3t13v"
+ .long 0xcd
+ .uleb128 0xe
+ .quad .LFE14-.LFB14
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x17
+ .string "t14"
+ .byte 0x2
+ .byte 0x96
+ .string "_Z3t14v"
+ .long 0xcd
+ .uleb128 0xf
+ .quad .LFE15-.LFB15
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x3b6
+ .uleb128 0x18
+ .uleb128 0x10
+ .quad .LBE2-.LBB2
+ .uleb128 0x19
+ .string "s1"
+ .byte 0x2
+ .byte 0x98
+ .long 0x3b6
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .uleb128 0x19
+ .string "s2"
+ .byte 0x2
+ .byte 0x99
+ .long 0x3b6
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -32
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x3bc
+ .uleb128 0x13
+ .long 0x3c1
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x6
+ .string "char"
+ .uleb128 0x17
+ .string "t15"
+ .byte 0x2
+ .byte 0xa3
+ .string "_Z3t15v"
+ .long 0xcd
+ .uleb128 0x11
+ .quad .LFE16-.LFB16
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x411
+ .uleb128 0x18
+ .uleb128 0x12
+ .quad .LBE3-.LBB3
+ .uleb128 0x19
+ .string "s1"
+ .byte 0x2
+ .byte 0xa5
+ .long 0x411
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .uleb128 0x19
+ .string "s2"
+ .byte 0x2
+ .byte 0xa6
+ .long 0x411
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -32
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x417
+ .uleb128 0x13
+ .long 0x41c
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "wchar_t"
+ .uleb128 0x16
+ .string "t16"
+ .byte 0x2
+ .byte 0xb0
+ .string "_Z3t16v"
+ .long 0xcd
+ .uleb128 0x13
+ .quad .LFE17-.LFB17
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x1a
+ .string "t17"
+ .byte 0x2
+ .byte 0xb8
+ .string "_Z3t17v"
+ .long 0xcd
+ .uleb128 0x14
+ .quad .LFE18-.LFB18
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x496
+ .uleb128 0x18
+ .uleb128 0x15
+ .quad .LBE4-.LBB4
+ .uleb128 0x19
+ .string "c"
+ .byte 0x2
+ .byte 0xba
+ .long 0x3c1
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -17
+ .uleb128 0x18
+ .uleb128 0x16
+ .quad .LBE5-.LBB5
+ .uleb128 0x19
+ .string "i"
+ .byte 0x2
+ .byte 0xbb
+ .long 0xc6
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0x17
+ .string "t18"
+ .byte 0x2
+ .byte 0xc7
+ .string "_Z3t18v"
+ .long 0xcd
+ .uleb128 0x17
+ .quad .LFE19-.LFB19
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x4fe
+ .uleb128 0x18
+ .uleb128 0x18
+ .quad .LBE6-.LBB6
+ .uleb128 0x19
+ .string "c"
+ .byte 0x2
+ .byte 0xc9
+ .long 0x3c1
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -17
+ .uleb128 0x18
+ .uleb128 0x19
+ .quad .LBE7-.LBB7
+ .uleb128 0x19
+ .string "i"
+ .byte 0x2
+ .byte 0xca
+ .long 0xc6
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .uleb128 0x18
+ .uleb128 0x1a
+ .quad .LBE8-.LBB8
+ .uleb128 0x19
+ .string "s"
+ .byte 0x2
+ .byte 0xcc
+ .long 0x3b6
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -32
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0x1b
+ .string "c3"
+ .byte 0x1
+ .byte 0x39
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .uleb128 0x1c
+ .string "v2"
+ .byte 0x1
+ .byte 0x3b
+ .long 0xc6
+ .uleb128 0x1c
+ .string "v3"
+ .byte 0x1
+ .byte 0x3c
+ .long 0xc6
+ .uleb128 0x1d
+ .long 0x3c1
+ .long 0x52b
+ .uleb128 0x1e
+ .byte 0
+ .uleb128 0x1c
+ .string "v4"
+ .byte 0x1
+ .byte 0x3d
+ .long 0x520
+ .uleb128 0x1c
+ .string "v5"
+ .byte 0x1
+ .byte 0x3e
+ .long 0x520
+ .uleb128 0x1d
+ .long 0x3b6
+ .long 0x54a
+ .uleb128 0x1e
+ .byte 0
+ .uleb128 0x1c
+ .string "t17data"
+ .byte 0x1
+ .byte 0x53
+ .long 0x53f
+ .uleb128 0x1f
+ .string "p6"
+ .byte 0x2
+ .byte 0x45
+ .long 0x566
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0x1b
+ .uleb128 0x8
+ .byte 0x8
+ .long 0xc6
+ .uleb128 0x1f
+ .string "p7"
+ .byte 0x2
+ .byte 0x4f
+ .long 0x566
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0x1c
+ .uleb128 0x1f
+ .string "p8"
+ .byte 0x2
+ .byte 0x59
+ .long 0x586
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0x1d
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x3c1
+ .uleb128 0x1f
+ .string "p9"
+ .byte 0x2
+ .byte 0x63
+ .long 0x586
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0x1e
+ .uleb128 0x9
+ .long 0xc6
+ .uleb128 0x1f
+ .string "pfn"
+ .byte 0x2
+ .byte 0x6d
+ .long 0x5ac
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0x1f
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x599
+ .byte 0
+ .section .debug_info,"",@progbits
+.Lskeleton_debug_info0:
+ .long 0x7e
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .uleb128 0x1
+ .long .Ldebug_ranges0+0
+ .quad 0
+ .long .Ldebug_line0
+ .byte 0x27
+ .byte 0x37
+ .byte 0xdc
+ .byte 0x2f
+ .byte 0x9
+ .byte 0xc6
+ .byte 0xf9
+ .byte 0x52
+ .long .Ldebug_ranges0
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_1.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_abbrev,"",@progbits
+.Lskeleton_debug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0
+ .uleb128 0x55
+ .uleb128 0x17
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x10
+ .uleb128 0x17
+ .uleb128 0x2131
+ .uleb128 0x7
+ .uleb128 0x2132
+ .uleb128 0x17
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2130
+ .uleb128 0x8
+ .uleb128 0x2134
+ .uleb128 0x17
+ .uleb128 0x2135
+ .uleb128 0x17
+ .uleb128 0x2133
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x41
+ .byte 0
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2130
+ .uleb128 0x8
+ .uleb128 0x2134
+ .uleb128 0x17
+ .uleb128 0x2135
+ .uleb128 0x17
+ .uleb128 0x2133
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_abbrev.dwo,"e",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x41
+ .byte 0x1
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x210f
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x2
+ .byte 0x1
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xd
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x38
+ .uleb128 0xb
+ .uleb128 0x32
+ .uleb128 0xb
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x1f02
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x34
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x15
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x1f02
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xc
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0x8
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2131
+ .uleb128 0x7
+ .byte 0
+ .byte 0
+ .uleb128 0xd
+ .uleb128 0x2
+ .byte 0x1
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x69
+ .uleb128 0x20
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xe
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x1f02
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0xf
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x20
+ .byte 0
+ .byte 0
+ .uleb128 0x10
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2117
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x11
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x47
+ .uleb128 0x13
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x2116
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x12
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x34
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x13
+ .uleb128 0x26
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x14
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x47
+ .uleb128 0x13
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x2117
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x15
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2117
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x16
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2116
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x17
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2116
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x18
+ .uleb128 0xb
+ .byte 0x1
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .byte 0
+ .byte 0
+ .uleb128 0x19
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x1a
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2117
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x1b
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x20
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x1c
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x1d
+ .uleb128 0x1
+ .byte 0x1
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x1e
+ .uleb128 0x21
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0x1f
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_gnu_pubnames,"",@progbits
+.Ldebug_pubnames0:
+ .long 0x15b
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .long 0x5b3
+ .long 0x15b
+ .byte 0x30
+ .string "f13i"
+ .long 0x177
+ .byte 0x30
+ .string "C1::testcase1"
+ .long 0x1a0
+ .byte 0x30
+ .string "C1::testcase2"
+ .long 0x1c4
+ .byte 0x30
+ .string "C1::testcase3"
+ .long 0x1e8
+ .byte 0x30
+ .string "C1::testcase4"
+ .long 0x20c
+ .byte 0x30
+ .string "C2::testcase1"
+ .long 0x235
+ .byte 0x30
+ .string "C2::testcase2"
+ .long 0x259
+ .byte 0x30
+ .string "C2::testcase3"
+ .long 0x27d
+ .byte 0x30
+ .string "C2::testcase4"
+ .long 0x2a1
+ .byte 0x30
+ .string "C3::testcase1"
+ .long 0x2ca
+ .byte 0x30
+ .string "C3::testcase2"
+ .long 0x2ee
+ .byte 0x30
+ .string "f11a"
+ .long 0x30e
+ .byte 0x30
+ .string "C3::testcase3"
+ .long 0x332
+ .byte 0x30
+ .string "t12"
+ .long 0x350
+ .byte 0x30
+ .string "t13"
+ .long 0x36e
+ .byte 0x30
+ .string "t14"
+ .long 0x3c9
+ .byte 0x30
+ .string "t15"
+ .long 0x427
+ .byte 0x30
+ .string "t16"
+ .long 0x445
+ .byte 0x30
+ .string "t17"
+ .long 0x496
+ .byte 0x30
+ .string "t18"
+ .long 0x559
+ .byte 0x20
+ .string "p6"
+ .long 0x56c
+ .byte 0x20
+ .string "p7"
+ .long 0x579
+ .byte 0x20
+ .string "p8"
+ .long 0x58c
+ .byte 0x20
+ .string "p9"
+ .long 0x59e
+ .byte 0x20
+ .string "pfn"
+ .long 0
+ .section .debug_gnu_pubtypes,"",@progbits
+.Ldebug_pubtypes0:
+ .long 0x50
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .long 0x5b3
+ .long 0xc6
+ .byte 0x90
+ .string "int"
+ .long 0xcd
+ .byte 0x90
+ .string "bool"
+ .long 0x8d
+ .byte 0x10
+ .string "C1"
+ .long 0xdf
+ .byte 0x10
+ .string "C2"
+ .long 0x122
+ .byte 0x10
+ .string "C3"
+ .long 0x3c1
+ .byte 0x90
+ .string "char"
+ .long 0x41c
+ .byte 0x90
+ .string "wchar_t"
+ .long 0
+ .section .debug_aranges,"",@progbits
+ .long 0x3c
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .byte 0x8
+ .byte 0
+ .value 0
+ .value 0
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .quad .LFB0
+ .quad .LFE0-.LFB0
+ .quad 0
+ .quad 0
+ .section .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+ .quad .Ltext0
+ .quad .Letext0
+ .quad .LFB0
+ .quad .LFE0
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_line.dwo,"e",@progbits
+.Lskeleton_debug_line0:
+ .long .LELT0-.LSLT0
+.LSLT0:
+ .value 0x4
+ .long .LELTP0-.LASLTP0
+.LASLTP0:
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0xf6
+ .byte 0xf2
+ .byte 0xd
+ .byte 0
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .byte 0
+ .string "dwp_test.h"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+ .string "dwp_test_1.cc"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+ .byte 0
+.LELTP0:
+.LELT0:
+ .section .debug_str_offsets.dwo,"e",@progbits
+ .long 0
+ .long 0xa
+ .long 0x14
+ .long 0x27
+ .long 0x3a
+ .long 0x44
+ .long 0x57
+ .long 0x5f
+ .long 0x72
+ .long 0x85
+ .long 0x98
+ .long 0xa2
+ .long 0xb5
+ .long 0xc8
+ .long 0xdb
+ .long 0xee
+ .long 0x101
+ .section .debug_str.dwo,"e",@progbits
+.LASF0:
+ .string "testcase1"
+.LASF1:
+ .string "testcase2"
+.LASF2:
+ .string "_ZN2C39testcase1Ev"
+.LASF3:
+ .string "_ZN2C39testcase2Ev"
+.LASF4:
+ .string "testcase3"
+.LASF5:
+ .string "_ZN2C39testcase3Ev"
+.LASF6:
+ .string "member1"
+.LASF7:
+ .string "_ZN2C29testcase1Ev"
+.LASF8:
+ .string "_ZN2C29testcase2Ev"
+.LASF9:
+ .string "_ZN2C29testcase3Ev"
+.LASF10:
+ .string "testcase4"
+.LASF11:
+ .string "_ZN2C29testcase4Ev"
+.LASF12:
+ .string "_ZN2C19testcase1Ev"
+.LASF13:
+ .string "_ZN2C19testcase2Ev"
+.LASF14:
+ .string "_ZN2C19testcase3Ev"
+.LASF15:
+ .string "_ZN2C19testcase4Ev"
+.LASF16:
+ .string "this"
+ .section .debug_addr,"",@progbits
+.Ldebug_addr0:
+ .quad .LFB0
+ .quad .LFB1
+ .quad .LFB2
+ .quad .LFB3
+ .quad .LFB4
+ .quad .LFB5
+ .quad .LFB6
+ .quad .LFB7
+ .quad .LFB8
+ .quad .LFB9
+ .quad .LFB10
+ .quad .LFB11
+ .quad .LFB12
+ .quad .LFB13
+ .quad .LFB14
+ .quad .LFB15
+ .quad .LBB2
+ .quad .LFB16
+ .quad .LBB3
+ .quad .LFB17
+ .quad .LFB18
+ .quad .LBB4
+ .quad .LBB5
+ .quad .LFB19
+ .quad .LBB6
+ .quad .LBB7
+ .quad .LBB8
+ .quad p6
+ .quad p7
+ .quad p8
+ .quad p9
+ .quad pfn
+ .ident "GCC: (Google_crosstoolv16-gcc-4.7.x-grtev3) 4.7.x-google 20120720 (prerelease)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/gold/testsuite/dwp_test_1.sh b/gold/testsuite/dwp_test_1.sh
new file mode 100755
index 0000000..7831a49
--- /dev/null
+++ b/gold/testsuite/dwp_test_1.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+# dwp_test_1.sh -- Test the dwp tool.
+
+# Copyright 2012 Free Software Foundation, Inc.
+# Written by Cary Coutant <ccoutant@google.com>.
+
+# This file is part of gold.
+
+# 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+check()
+{
+ if ! grep -q "$2" "$1"
+ then
+ echo "Did not find expected output:"
+ echo " $2"
+ echo ""
+ echo "Actual error output below:"
+ cat "$1"
+ exit 1
+ fi
+}
+
+check_num()
+{
+ n=$(grep -c "$2" "$1")
+ if test "$n" -ne "$3"
+ then
+ echo "Found $n occurrences (should find $3):"
+ echo " $2"
+ echo ""
+ echo "Actual error output below:"
+ cat "$1"
+ exit 1
+ fi
+}
+
+STDOUT="dwp_test_1.stdout"
+
+check $STDOUT "^Contents of the .debug_info.dwo section"
+check_num $STDOUT "DW_TAG_compile_unit" 4
+check_num $STDOUT "DW_TAG_type_unit" 3
+check_num $STDOUT "DW_AT_name.*: C1" 3
+check_num $STDOUT "DW_AT_name.*: C2" 2
+check_num $STDOUT "DW_AT_name.*: C3" 3
+check_num $STDOUT "DW_AT_name.*: testcase1" 6
+check_num $STDOUT "DW_AT_name.*: testcase2" 6
+check_num $STDOUT "DW_AT_name.*: testcase3" 6
+check_num $STDOUT "DW_AT_name.*: testcase4" 4
diff --git a/gold/testsuite/dwp_test_1b.cc b/gold/testsuite/dwp_test_1b.cc
new file mode 100644
index 0000000..c75376b
--- /dev/null
+++ b/gold/testsuite/dwp_test_1b.cc
@@ -0,0 +1,35 @@
+// dwp_test_1b.cc -- a test case for dwp
+
+// Copyright 2012 Free Software Foundation, Inc.
+// Written by Cary Coutant <ccoutant@google.com>.
+
+// This file is part of gold.
+
+// 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, write to the Free Software
+// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+// MA 02110-1301, USA.
+
+// Adapted from two_file_test_1b.cc.
+
+#include "dwp_test.h"
+
+// 16 Call a function directly after its address has been taken.
+
+C3 c3;
+
+bool
+t16a()
+{
+ return f10() == 135;
+}
diff --git a/gold/testsuite/dwp_test_1b.s b/gold/testsuite/dwp_test_1b.s
new file mode 100644
index 0000000..9c9891d
--- /dev/null
+++ b/gold/testsuite/dwp_test_1b.s
@@ -0,0 +1,549 @@
+ .file "dwp_test_1b.cc"
+ .text
+.Ltext0:
+ .globl c3
+ .bss
+ .align 4
+ .type c3, @object
+ .size c3, 4
+c3:
+ .zero 4
+ .text
+ .globl _Z4t16av
+ .type _Z4t16av, @function
+_Z4t16av:
+.LFB1:
+ .file 1 "dwp_test_1b.cc"
+ .loc 1 33 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 1 34 0
+ call _Z3f10v
+ cmpl $135, %eax
+ sete %al
+ .loc 1 35 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE1:
+ .size _Z4t16av, .-_Z4t16av
+.Letext0:
+ .file 2 "dwp_test.h"
+ .section .debug_types.dwo,"G",@progbits,wt.bb2916f0c1bd34b5,comdat
+ .long 0x119
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x8a
+ .byte 0xda
+ .byte 0x59
+ .byte 0x6e
+ .byte 0x4d
+ .byte 0x5c
+ .byte 0xa
+ .byte 0x88
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C3"
+ .byte 0x4
+ .byte 0x2
+ .byte 0x2f
+ .long 0xfc
+ .uleb128 0x3
+ .string "member1"
+ .byte 0x2
+ .byte 0x36
+ .long 0xfc
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .string "testcase1"
+ .byte 0x2
+ .byte 0x32
+ .string "_ZN2C39testcase1Ev"
+ .long 0x103
+ .byte 0x1
+ .long 0x6e
+ .long 0x74
+ .uleb128 0x5
+ .long 0x10b
+ .byte 0
+ .uleb128 0x4
+ .string "testcase2"
+ .byte 0x2
+ .byte 0x33
+ .string "_ZN2C39testcase2Ev"
+ .long 0x103
+ .byte 0x1
+ .long 0xa1
+ .long 0xa7
+ .uleb128 0x5
+ .long 0x10b
+ .byte 0
+ .uleb128 0x4
+ .string "testcase3"
+ .byte 0x2
+ .byte 0x34
+ .string "_ZN2C39testcase3Ev"
+ .long 0x103
+ .byte 0x1
+ .long 0xd4
+ .long 0xda
+ .uleb128 0x5
+ .long 0x10b
+ .byte 0
+ .uleb128 0x6
+ .string "f4"
+ .byte 0x2
+ .byte 0x35
+ .string "_ZN2C32f4Ev"
+ .long 0x111
+ .byte 0x1
+ .long 0xf5
+ .uleb128 0x5
+ .long 0x10b
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x117
+ .uleb128 0x9
+ .long 0x103
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.bb2916f0c1bd34b5,comdat
+ .long 0x6f
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_1b.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_info.dwo,"e",@progbits
+.Ldebug_info0:
+ .long 0xcb
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .uleb128 0xa
+ .string "GNU C++ 4.7.x-google 20120720 (prerelease)"
+ .byte 0x4
+ .string "dwp_test_1b.cc"
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .byte 0xf6
+ .byte 0xef
+ .byte 0x47
+ .byte 0xa2
+ .byte 0x3e
+ .byte 0xc1
+ .byte 0x6e
+ .byte 0xbd
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0xb
+ .string "t16a"
+ .byte 0x1
+ .byte 0x20
+ .string "_Z4t16av"
+ .long 0x95
+ .uleb128 0
+ .quad .LFE1-.LFB1
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0xc
+ .string "c3"
+ .byte 0x1
+ .byte 0x1d
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0x1
+ .byte 0
+ .section .debug_info,"",@progbits
+.Lskeleton_debug_info0:
+ .long 0x7f
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .uleb128 0x1
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .long .Ldebug_line0
+ .byte 0xf6
+ .byte 0xef
+ .byte 0x47
+ .byte 0xa2
+ .byte 0x3e
+ .byte 0xc1
+ .byte 0x6e
+ .byte 0xbd
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_1b.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_abbrev,"",@progbits
+.Lskeleton_debug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .uleb128 0x2131
+ .uleb128 0x7
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2130
+ .uleb128 0x8
+ .uleb128 0x2134
+ .uleb128 0x17
+ .uleb128 0x2135
+ .uleb128 0x17
+ .uleb128 0x2133
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x41
+ .byte 0
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2130
+ .uleb128 0x8
+ .uleb128 0x2134
+ .uleb128 0x17
+ .uleb128 0x2135
+ .uleb128 0x17
+ .uleb128 0x2133
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_abbrev.dwo,"e",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x41
+ .byte 0x1
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x210f
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x2
+ .byte 0x1
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xd
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x38
+ .uleb128 0xb
+ .uleb128 0x32
+ .uleb128 0xb
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x34
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x15
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0x8
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2131
+ .uleb128 0x7
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2116
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0xc
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x20
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_gnu_pubnames,"",@progbits
+.Ldebug_pubnames0:
+ .long 0x20
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .long 0xcf
+ .long 0x9d
+ .byte 0x30
+ .string "t16a"
+ .long 0xbd
+ .byte 0x20
+ .string "c3"
+ .long 0
+ .section .debug_gnu_pubtypes,"",@progbits
+.Ldebug_pubtypes0:
+ .long 0x29
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .long 0xcf
+ .long 0x8e
+ .byte 0x90
+ .string "int"
+ .long 0x95
+ .byte 0x90
+ .string "bool"
+ .long 0
+ .byte 0x10
+ .string "C3"
+ .long 0
+ .section .debug_aranges,"",@progbits
+ .long 0x2c
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .byte 0x8
+ .byte 0
+ .value 0
+ .value 0
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_line.dwo,"e",@progbits
+.Lskeleton_debug_line0:
+ .long .LELT0-.LSLT0
+.LSLT0:
+ .value 0x4
+ .long .LELTP0-.LASLTP0
+.LASLTP0:
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0xf6
+ .byte 0xf2
+ .byte 0xd
+ .byte 0
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .byte 0
+ .string "dwp_test_1b.cc"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+ .string "dwp_test.h"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+ .byte 0
+.LELTP0:
+.LELT0:
+ .section .debug_addr,"",@progbits
+.Ldebug_addr0:
+ .quad .LFB1
+ .quad c3
+ .ident "GCC: (Google_crosstoolv16-gcc-4.7.x-grtev3) 4.7.x-google 20120720 (prerelease)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/gold/testsuite/dwp_test_2.cc b/gold/testsuite/dwp_test_2.cc
new file mode 100644
index 0000000..a1172b3
--- /dev/null
+++ b/gold/testsuite/dwp_test_2.cc
@@ -0,0 +1,144 @@
+// dwp_test_2.cc -- a test case for dwp
+
+// Copyright 2012 Free Software Foundation, Inc.
+// Written by Cary Coutant <ccoutant@google.com>.
+
+// This file is part of gold.
+
+// 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, write to the Free Software
+// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+// MA 02110-1301, USA.
+
+// Adapted from two_file_test_2.cc.
+
+#include "dwp_test.h"
+
+// 1 Code in file 1 calls code in file 2.
+
+int
+C1::t1_2()
+{
+ return 123;
+}
+
+bool
+C1::t1a()
+{
+ return t1_2() == 123;
+}
+
+// 2 Code in file 1 refers to global data in file 2.
+
+int v2 = 456;
+
+// 3 Code in file 1 referes to common symbol in file 2. This is
+// initialized at runtime to 789.
+
+int v3;
+
+// 4 Code in file 1 refers to offset within global data in file 2.
+
+char v4[] = "Hello, world";
+
+// 5 Code in file 1 refers to offset within common symbol in file 2.
+// This is initialized at runtime to a copy of v4.
+
+char v5[13];
+
+// 6 Data in file 1 refers to global data in file 2. This reuses v2.
+
+// 7 Data in file 1 refers to common symbol in file 2. This reuses v3.
+
+// 8 Data in file 1 refers to offset within global data in file 2.
+// This reuses v4.
+
+// 9 Data in file 1 refers to offset within common symbol in file 2.
+// This reuses v5.
+
+// 10 Data in file 1 refers to function in file 2.
+
+int
+f10()
+{
+ return 135;
+}
+
+// 11 Pass function pointer from file 1 to file 2.
+
+int
+f11b(int (*pfn)())
+{
+ return (*pfn)();
+}
+
+// 12 Compare address of function for equality in both files.
+
+bool
+(*C3::f4())()
+{
+ return &t12;
+}
+
+// 13 Compare address of inline function for equality in both files.
+
+void
+(*f13())()
+{
+ return &f13i;
+}
+
+// 14 Compare string constants in file 1 and file 2.
+
+const char*
+f14()
+{
+ return TEST_STRING_CONSTANT;
+}
+
+// 15 Compare wide string constants in file 1 and file 2.
+
+const wchar_t*
+f15()
+{
+ return TEST_WIDE_STRING_CONSTANT;
+}
+
+// 17 File 1 checks array of string constants defined in file 2.
+
+const char* t17data[T17_COUNT] =
+{
+ "a", "b", "c", "d", "e"
+};
+
+// 18 File 1 checks string constants referenced directly in file 2.
+
+const char*
+f18(int i)
+{
+ switch (i)
+ {
+ case 0:
+ return "a";
+ case 1:
+ return "b";
+ case 2:
+ return "c";
+ case 3:
+ return "d";
+ case 4:
+ return "e";
+ default:
+ return 0;
+ }
+}
diff --git a/gold/testsuite/dwp_test_2.s b/gold/testsuite/dwp_test_2.s
new file mode 100644
index 0000000..fa807714
--- /dev/null
+++ b/gold/testsuite/dwp_test_2.s
@@ -0,0 +1,1714 @@
+ .file "dwp_test_2.cc"
+ .text
+.Ltext0:
+ .section .text._Z4f13iv,"axG",@progbits,_Z4f13iv,comdat
+ .weak _Z4f13iv
+ .type _Z4f13iv, @function
+_Z4f13iv:
+.LFB0:
+ .file 1 "dwp_test.h"
+ .loc 1 70 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 1 70 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE0:
+ .size _Z4f13iv, .-_Z4f13iv
+ .text
+ .align 2
+ .globl _ZN2C14t1_2Ev
+ .type _ZN2C14t1_2Ev, @function
+_ZN2C14t1_2Ev:
+.LFB1:
+ .file 2 "dwp_test_2.cc"
+ .loc 2 31 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 32 0
+ movl $123, %eax
+ .loc 2 33 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE1:
+ .size _ZN2C14t1_2Ev, .-_ZN2C14t1_2Ev
+ .align 2
+ .globl _ZN2C13t1aEv
+ .type _ZN2C13t1aEv, @function
+_ZN2C13t1aEv:
+.LFB2:
+ .loc 2 37 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $8, %rsp
+ movq %rdi, -8(%rbp)
+ .loc 2 38 0
+ movq -8(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C14t1_2Ev
+ cmpl $123, %eax
+ sete %al
+ .loc 2 39 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE2:
+ .size _ZN2C13t1aEv, .-_ZN2C13t1aEv
+ .globl v2
+ .data
+ .align 4
+ .type v2, @object
+ .size v2, 4
+v2:
+ .long 456
+ .globl v3
+ .bss
+ .align 4
+ .type v3, @object
+ .size v3, 4
+v3:
+ .zero 4
+ .globl v4
+ .data
+ .type v4, @object
+ .size v4, 13
+v4:
+ .string "Hello, world"
+ .globl v5
+ .bss
+ .type v5, @object
+ .size v5, 13
+v5:
+ .zero 13
+ .text
+ .globl _Z3f10v
+ .type _Z3f10v, @function
+_Z3f10v:
+.LFB3:
+ .loc 2 73 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 2 74 0
+ movl $135, %eax
+ .loc 2 75 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE3:
+ .size _Z3f10v, .-_Z3f10v
+ .globl _Z4f11bPFivE
+ .type _Z4f11bPFivE, @function
+_Z4f11bPFivE:
+.LFB4:
+ .loc 2 81 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $16, %rsp
+ movq %rdi, -8(%rbp)
+ .loc 2 82 0
+ movq -8(%rbp), %rax
+ call *%rax
+ .loc 2 83 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE4:
+ .size _Z4f11bPFivE, .-_Z4f11bPFivE
+ .align 2
+ .globl _ZN2C32f4Ev
+ .type _ZN2C32f4Ev, @function
+_ZN2C32f4Ev:
+.LFB5:
+ .loc 2 89 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movq %rdi, -8(%rbp)
+ .loc 2 90 0
+ movl $_Z3t12v, %eax
+ .loc 2 91 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE5:
+ .size _ZN2C32f4Ev, .-_ZN2C32f4Ev
+ .globl _Z3f13v
+ .type _Z3f13v, @function
+_Z3f13v:
+.LFB6:
+ .loc 2 97 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 2 98 0
+ movl $_Z4f13iv, %eax
+ .loc 2 99 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE6:
+ .size _Z3f13v, .-_Z3f13v
+ .section .rodata
+.LC0:
+ .string "test string constant"
+ .text
+ .globl _Z3f14v
+ .type _Z3f14v, @function
+_Z3f14v:
+.LFB7:
+ .loc 2 105 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 2 106 0
+ movl $.LC0, %eax
+ .loc 2 107 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE7:
+ .size _Z3f14v, .-_Z3f14v
+ .section .rodata
+ .align 8
+.LC1:
+ .string "t"
+ .string ""
+ .string ""
+ .string "e"
+ .string ""
+ .string ""
+ .string "s"
+ .string ""
+ .string ""
+ .string "t"
+ .string ""
+ .string ""
+ .string " "
+ .string ""
+ .string ""
+ .string "w"
+ .string ""
+ .string ""
+ .string "i"
+ .string ""
+ .string ""
+ .string "d"
+ .string ""
+ .string ""
+ .string "e"
+ .string ""
+ .string ""
+ .string " "
+ .string ""
+ .string ""
+ .string "s"
+ .string ""
+ .string ""
+ .string "t"
+ .string ""
+ .string ""
+ .string "r"
+ .string ""
+ .string ""
+ .string "i"
+ .string ""
+ .string ""
+ .string "n"
+ .string ""
+ .string ""
+ .string "g"
+ .string ""
+ .string ""
+ .string " "
+ .string ""
+ .string ""
+ .string "c"
+ .string ""
+ .string ""
+ .string "o"
+ .string ""
+ .string ""
+ .string "n"
+ .string ""
+ .string ""
+ .string "s"
+ .string ""
+ .string ""
+ .string "t"
+ .string ""
+ .string ""
+ .string "a"
+ .string ""
+ .string ""
+ .string "n"
+ .string ""
+ .string ""
+ .string "t"
+ .string ""
+ .string ""
+ .string ""
+ .string ""
+ .string ""
+ .string ""
+ .text
+ .globl _Z3f15v
+ .type _Z3f15v, @function
+_Z3f15v:
+.LFB8:
+ .loc 2 113 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ .loc 2 114 0
+ movl $.LC1, %eax
+ .loc 2 115 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE8:
+ .size _Z3f15v, .-_Z3f15v
+ .globl t17data
+ .section .rodata
+.LC2:
+ .string "a"
+.LC3:
+ .string "b"
+.LC4:
+ .string "c"
+.LC5:
+ .string "d"
+.LC6:
+ .string "e"
+ .data
+ .align 32
+ .type t17data, @object
+ .size t17data, 40
+t17data:
+ .quad .LC2
+ .quad .LC3
+ .quad .LC4
+ .quad .LC5
+ .quad .LC6
+ .text
+ .globl _Z3f18i
+ .type _Z3f18i, @function
+_Z3f18i:
+.LFB9:
+ .loc 2 128 0
+ .cfi_startproc
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ movl %edi, -4(%rbp)
+ .loc 2 129 0
+ cmpl $4, -4(%rbp)
+ ja .L19
+ movl -4(%rbp), %eax
+ movq .L25(,%rax,8), %rax
+ jmp *%rax
+ .section .rodata
+ .align 8
+ .align 4
+.L25:
+ .quad .L20
+ .quad .L21
+ .quad .L22
+ .quad .L23
+ .quad .L24
+ .text
+.L20:
+ .loc 2 132 0
+ movl $.LC2, %eax
+ jmp .L26
+.L21:
+ .loc 2 134 0
+ movl $.LC3, %eax
+ jmp .L26
+.L22:
+ .loc 2 136 0
+ movl $.LC4, %eax
+ jmp .L26
+.L23:
+ .loc 2 138 0
+ movl $.LC5, %eax
+ jmp .L26
+.L24:
+ .loc 2 140 0
+ movl $.LC6, %eax
+ jmp .L26
+.L19:
+ .loc 2 142 0
+ movl $0, %eax
+.L26:
+ .loc 2 144 0
+ popq %rbp
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE9:
+ .size _Z3f18i, .-_Z3f18i
+.Letext0:
+ .section .debug_types.dwo,"G",@progbits,wt.bb2916f0c1bd34b5,comdat
+ .long 0xf3
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x8a
+ .byte 0xda
+ .byte 0x59
+ .byte 0x6e
+ .byte 0x4d
+ .byte 0x5c
+ .byte 0xa
+ .byte 0x88
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C3"
+ .byte 0x4
+ .byte 0x1
+ .byte 0x2f
+ .long 0xd6
+ .uleb128 0x3
+ .string "member1"
+ .byte 0x1
+ .byte 0x36
+ .long 0xd6
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .uleb128 0
+ .byte 0x1
+ .byte 0x32
+ .string "_ZN2C39testcase1Ev"
+ .long 0xdd
+ .byte 0x1
+ .long 0x65
+ .long 0x6b
+ .uleb128 0x5
+ .long 0xe5
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x33
+ .string "_ZN2C39testcase2Ev"
+ .long 0xdd
+ .byte 0x1
+ .long 0x8f
+ .long 0x95
+ .uleb128 0x5
+ .long 0xe5
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2
+ .byte 0x1
+ .byte 0x34
+ .string "_ZN2C39testcase3Ev"
+ .long 0xdd
+ .byte 0x1
+ .long 0xb9
+ .long 0xbf
+ .uleb128 0x5
+ .long 0xe5
+ .byte 0
+ .uleb128 0x6
+ .string "f4"
+ .byte 0x1
+ .byte 0x35
+ .uleb128 0x3
+ .long 0xeb
+ .byte 0x1
+ .long 0xcf
+ .uleb128 0x5
+ .long 0xe5
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .uleb128 0x8
+ .byte 0x8
+ .long 0xf1
+ .uleb128 0x9
+ .long 0xdd
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.bb2916f0c1bd34b5,comdat
+ .long 0x6e
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_2.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_types.dwo,"G",@progbits,wt.c419a9b7a4a2fab5,comdat
+ .long 0x138
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0xe3
+ .byte 0xad
+ .byte 0x5
+ .byte 0x3b
+ .byte 0x75
+ .byte 0xeb
+ .byte 0xfb
+ .byte 0xc7
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C1"
+ .byte 0x4
+ .byte 0x1
+ .byte 0x19
+ .long 0x126
+ .uleb128 0x3
+ .string "member1"
+ .byte 0x1
+ .byte 0x22
+ .long 0x126
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .uleb128 0
+ .byte 0x1
+ .byte 0x1c
+ .string "_ZN2C19testcase1Ev"
+ .long 0x12d
+ .byte 0x1
+ .long 0x65
+ .long 0x6b
+ .uleb128 0x5
+ .long 0x135
+ .byte 0
+ .uleb128 0xa
+ .string "t1a"
+ .byte 0x1
+ .byte 0x1d
+ .uleb128 0x4
+ .long 0x12d
+ .byte 0x1
+ .long 0x80
+ .long 0x86
+ .uleb128 0x5
+ .long 0x135
+ .byte 0
+ .uleb128 0xa
+ .string "t1_2"
+ .byte 0x1
+ .byte 0x1e
+ .uleb128 0x5
+ .long 0x126
+ .byte 0x1
+ .long 0x9c
+ .long 0xa2
+ .uleb128 0x5
+ .long 0x135
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x1
+ .byte 0x1
+ .byte 0x1f
+ .string "_ZN2C19testcase2Ev"
+ .long 0x12d
+ .byte 0x1
+ .long 0xc6
+ .long 0xcc
+ .uleb128 0x5
+ .long 0x135
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2
+ .byte 0x1
+ .byte 0x20
+ .string "_ZN2C19testcase3Ev"
+ .long 0x12d
+ .byte 0x1
+ .long 0xf0
+ .long 0xf6
+ .uleb128 0x5
+ .long 0x135
+ .byte 0
+ .uleb128 0xb
+ .string "testcase4"
+ .byte 0x1
+ .byte 0x21
+ .string "_ZN2C19testcase4Ev"
+ .long 0x12d
+ .byte 0x1
+ .long 0x11f
+ .uleb128 0x5
+ .long 0x135
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.c419a9b7a4a2fab5,comdat
+ .long 0x6e
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_2.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_info.dwo,"e",@progbits
+.Ldebug_info0:
+ .long 0x329
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .uleb128 0xc
+ .string "GNU C++ 4.7.x-google 20120720 (prerelease)"
+ .byte 0x4
+ .string "dwp_test_2.cc"
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .byte 0xb9
+ .byte 0xf8
+ .byte 0xe0
+ .byte 0x8c
+ .byte 0x71
+ .byte 0xab
+ .byte 0xc
+ .byte 0xcf
+ .uleb128 0xd
+ .string "C1"
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .long 0xb9
+ .uleb128 0xe
+ .string "t1a"
+ .byte 0x1
+ .byte 0x1d
+ .uleb128 0x4
+ .long 0xc0
+ .byte 0x1
+ .uleb128 0xe
+ .string "t1_2"
+ .byte 0x1
+ .byte 0x1e
+ .uleb128 0x5
+ .long 0xb9
+ .byte 0x1
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0xf
+ .byte 0x8
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .uleb128 0xd
+ .string "C3"
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0xef
+ .uleb128 0xe
+ .string "f4"
+ .byte 0x1
+ .byte 0x35
+ .uleb128 0x3
+ .long 0xfe
+ .byte 0x1
+ .byte 0
+ .uleb128 0xf
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .uleb128 0x9
+ .long 0xc0
+ .uleb128 0x8
+ .byte 0x8
+ .long 0xf9
+ .uleb128 0x10
+ .string "f13i"
+ .byte 0x1
+ .byte 0x46
+ .string "_Z4f13iv"
+ .uleb128 0
+ .quad .LFE0-.LFB0
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x11
+ .long 0xaa
+ .byte 0x2
+ .uleb128 0x1
+ .quad .LFE1-.LFB1
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x139
+ .long 0x147
+ .uleb128 0x12
+ .string "this"
+ .long 0x147
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x13
+ .long 0xc8
+ .uleb128 0x14
+ .long 0x9d
+ .byte 0x2
+ .byte 0x24
+ .uleb128 0x2
+ .quad .LFE2-.LFB2
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x166
+ .long 0x174
+ .uleb128 0x12
+ .string "this"
+ .long 0x147
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x15
+ .string "f10"
+ .byte 0x2
+ .byte 0x48
+ .string "_Z3f10v"
+ .long 0xb9
+ .uleb128 0x3
+ .quad .LFE3-.LFB3
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x16
+ .string "f11b"
+ .byte 0x2
+ .byte 0x50
+ .string "_Z4f11bPFivE"
+ .long 0xb9
+ .uleb128 0x4
+ .quad .LFE4-.LFB4
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x1c9
+ .uleb128 0x17
+ .string "pfn"
+ .byte 0x2
+ .byte 0x50
+ .long 0x1ce
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x9
+ .long 0xb9
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x1c9
+ .uleb128 0x18
+ .long 0xe2
+ .byte 0x2
+ .byte 0x58
+ .uleb128 0x5
+ .quad .LFE5-.LFB5
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x1ee
+ .long 0x1fc
+ .uleb128 0x12
+ .string "this"
+ .long 0x1fc
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -24
+ .byte 0
+ .uleb128 0x13
+ .long 0xef
+ .uleb128 0x19
+ .uleb128 0x15
+ .string "f13"
+ .byte 0x2
+ .byte 0x60
+ .string "_Z3f13v"
+ .long 0x220
+ .uleb128 0x6
+ .quad .LFE6-.LFB6
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x201
+ .uleb128 0x15
+ .string "f14"
+ .byte 0x2
+ .byte 0x68
+ .string "_Z3f14v"
+ .long 0x244
+ .uleb128 0x7
+ .quad .LFE7-.LFB7
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x24a
+ .uleb128 0x13
+ .long 0x24f
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x6
+ .string "char"
+ .uleb128 0x15
+ .string "f15"
+ .byte 0x2
+ .byte 0x70
+ .string "_Z3f15v"
+ .long 0x275
+ .uleb128 0x8
+ .quad .LFE8-.LFB8
+ .uleb128 0x1
+ .byte 0x9c
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x27b
+ .uleb128 0x13
+ .long 0x280
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "wchar_t"
+ .uleb128 0x1a
+ .string "f18"
+ .byte 0x2
+ .byte 0x7f
+ .string "_Z3f18i"
+ .long 0x244
+ .uleb128 0x9
+ .quad .LFE9-.LFB9
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x2ba
+ .uleb128 0x17
+ .string "i"
+ .byte 0x2
+ .byte 0x7f
+ .long 0xb9
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -20
+ .byte 0
+ .uleb128 0x1b
+ .string "v2"
+ .byte 0x2
+ .byte 0x2b
+ .long 0xb9
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0xa
+ .uleb128 0x1b
+ .string "v3"
+ .byte 0x2
+ .byte 0x30
+ .long 0xb9
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0xb
+ .uleb128 0x1c
+ .long 0x24f
+ .long 0x2e4
+ .uleb128 0x1d
+ .long 0x2e4
+ .byte 0xc
+ .byte 0
+ .uleb128 0x7
+ .byte 0x8
+ .byte 0x7
+ .string "sizetype"
+ .uleb128 0x1b
+ .string "v4"
+ .byte 0x2
+ .byte 0x34
+ .long 0x2d4
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0xc
+ .uleb128 0x1b
+ .string "v5"
+ .byte 0x2
+ .byte 0x39
+ .long 0x2d4
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0xd
+ .uleb128 0x1c
+ .long 0x244
+ .long 0x31a
+ .uleb128 0x1d
+ .long 0x2e4
+ .byte 0x4
+ .byte 0
+ .uleb128 0x1b
+ .string "t17data"
+ .byte 0x2
+ .byte 0x77
+ .long 0x30a
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0xe
+ .byte 0
+ .section .debug_info,"",@progbits
+.Lskeleton_debug_info0:
+ .long 0x7e
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .uleb128 0x1
+ .long .Ldebug_ranges0+0
+ .quad 0
+ .long .Ldebug_line0
+ .byte 0xb9
+ .byte 0xf8
+ .byte 0xe0
+ .byte 0x8c
+ .byte 0x71
+ .byte 0xab
+ .byte 0xc
+ .byte 0xcf
+ .long .Ldebug_ranges0
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_2.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_abbrev,"",@progbits
+.Lskeleton_debug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0
+ .uleb128 0x55
+ .uleb128 0x17
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x10
+ .uleb128 0x17
+ .uleb128 0x2131
+ .uleb128 0x7
+ .uleb128 0x2132
+ .uleb128 0x17
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2130
+ .uleb128 0x8
+ .uleb128 0x2134
+ .uleb128 0x17
+ .uleb128 0x2135
+ .uleb128 0x17
+ .uleb128 0x2133
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x41
+ .byte 0
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2130
+ .uleb128 0x8
+ .uleb128 0x2134
+ .uleb128 0x17
+ .uleb128 0x2135
+ .uleb128 0x17
+ .uleb128 0x2133
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_abbrev.dwo,"e",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x41
+ .byte 0x1
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x210f
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x2
+ .byte 0x1
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xd
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x38
+ .uleb128 0xb
+ .uleb128 0x32
+ .uleb128 0xb
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x34
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x1f02
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x15
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x1f02
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xc
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0x8
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2131
+ .uleb128 0x7
+ .byte 0
+ .byte 0
+ .uleb128 0xd
+ .uleb128 0x2
+ .byte 0x1
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x69
+ .uleb128 0x20
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xe
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x1f02
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0xf
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x20
+ .byte 0
+ .byte 0
+ .uleb128 0x10
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2117
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x11
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x47
+ .uleb128 0x13
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x2117
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x12
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x34
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x13
+ .uleb128 0x26
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x14
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x47
+ .uleb128 0x13
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x2116
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x15
+ .uleb128 0x2e
+ .byte 0
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2117
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x16
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2116
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x17
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x18
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x47
+ .uleb128 0x13
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x2117
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x19
+ .uleb128 0x15
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0x1a
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2117
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x1b
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x1c
+ .uleb128 0x1
+ .byte 0x1
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x1d
+ .uleb128 0x21
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x2f
+ .uleb128 0xb
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_gnu_pubnames,"",@progbits
+.Ldebug_pubnames0:
+ .long 0xa3
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .long 0x32d
+ .long 0x104
+ .byte 0x30
+ .string "f13i"
+ .long 0x120
+ .byte 0x30
+ .string "C1::t1_2"
+ .long 0x14c
+ .byte 0x30
+ .string "C1::t1a"
+ .long 0x174
+ .byte 0x30
+ .string "f10"
+ .long 0x192
+ .byte 0x30
+ .string "f11b"
+ .long 0x1d4
+ .byte 0x30
+ .string "C3::f4"
+ .long 0x202
+ .byte 0x30
+ .string "f13"
+ .long 0x226
+ .byte 0x30
+ .string "f14"
+ .long 0x257
+ .byte 0x30
+ .string "f15"
+ .long 0x28b
+ .byte 0x30
+ .string "f18"
+ .long 0x2ba
+ .byte 0x20
+ .string "v2"
+ .long 0x2c7
+ .byte 0x20
+ .string "v3"
+ .long 0x2f0
+ .byte 0x20
+ .string "v4"
+ .long 0x2fd
+ .byte 0x20
+ .string "v5"
+ .long 0x31a
+ .byte 0x20
+ .string "t17data"
+ .long 0
+ .section .debug_gnu_pubtypes,"",@progbits
+.Ldebug_pubtypes0:
+ .long 0x56
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .long 0x32d
+ .long 0xb9
+ .byte 0x90
+ .string "int"
+ .long 0xc0
+ .byte 0x90
+ .string "bool"
+ .long 0x8d
+ .byte 0x10
+ .string "C1"
+ .long 0xd2
+ .byte 0x10
+ .string "C3"
+ .long 0x24f
+ .byte 0x90
+ .string "char"
+ .long 0x280
+ .byte 0x90
+ .string "wchar_t"
+ .long 0x2e4
+ .byte 0x90
+ .string "sizetype"
+ .long 0
+ .section .debug_aranges,"",@progbits
+ .long 0x3c
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .byte 0x8
+ .byte 0
+ .value 0
+ .value 0
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .quad .LFB0
+ .quad .LFE0-.LFB0
+ .quad 0
+ .quad 0
+ .section .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+ .quad .Ltext0
+ .quad .Letext0
+ .quad .LFB0
+ .quad .LFE0
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_line.dwo,"e",@progbits
+.Lskeleton_debug_line0:
+ .long .LELT0-.LSLT0
+.LSLT0:
+ .value 0x4
+ .long .LELTP0-.LASLTP0
+.LASLTP0:
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0xf6
+ .byte 0xf2
+ .byte 0xd
+ .byte 0
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .byte 0
+ .string "dwp_test.h"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+ .string "dwp_test_2.cc"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+ .byte 0
+.LELTP0:
+.LELT0:
+ .section .debug_str_offsets.dwo,"e",@progbits
+ .long 0
+ .long 0xa
+ .long 0x14
+ .long 0x1e
+ .long 0x2a
+ .long 0x37
+ .section .debug_str.dwo,"e",@progbits
+.LASF0:
+ .string "testcase1"
+.LASF1:
+ .string "testcase2"
+.LASF2:
+ .string "testcase3"
+.LASF3:
+ .string "_ZN2C32f4Ev"
+.LASF4:
+ .string "_ZN2C13t1aEv"
+.LASF5:
+ .string "_ZN2C14t1_2Ev"
+ .section .debug_addr,"",@progbits
+.Ldebug_addr0:
+ .quad .LFB0
+ .quad .LFB1
+ .quad .LFB2
+ .quad .LFB3
+ .quad .LFB4
+ .quad .LFB5
+ .quad .LFB6
+ .quad .LFB7
+ .quad .LFB8
+ .quad .LFB9
+ .quad v2
+ .quad v3
+ .quad v4
+ .quad v5
+ .quad t17data
+ .ident "GCC: (Google_crosstoolv16-gcc-4.7.x-grtev3) 4.7.x-google 20120720 (prerelease)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/gold/testsuite/dwp_test_2.sh b/gold/testsuite/dwp_test_2.sh
new file mode 100755
index 0000000..619d73b
--- /dev/null
+++ b/gold/testsuite/dwp_test_2.sh
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+# dwp_test_2.sh -- Test the dwp tool.
+
+# Copyright 2012 Free Software Foundation, Inc.
+# Written by Cary Coutant <ccoutant@google.com>.
+
+# This file is part of gold.
+
+# 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+check()
+{
+ if ! grep -q "$2" "$1"
+ then
+ echo "Did not find expected output:"
+ echo " $2"
+ echo ""
+ echo "Actual error output below:"
+ cat "$1"
+ exit 1
+ fi
+}
+
+check_num()
+{
+ n=$(grep -c "$2" "$1")
+ if test "$n" -ne "$3"
+ then
+ echo "Found $n occurrences (should find $3):"
+ echo " $2"
+ echo ""
+ echo "Actual error output below:"
+ cat "$1"
+ exit 1
+ fi
+}
+
+STDOUT="dwp_test_2.stdout"
+
+check $STDOUT "^Contents of the .debug_info.dwo section"
+check_num $STDOUT "DW_TAG_compile_unit" 4
+check_num $STDOUT "DW_TAG_type_unit" 3
+check_num $STDOUT "DW_AT_name.*: C1" 3
+check_num $STDOUT "DW_AT_name.*: C2" 2
+check_num $STDOUT "DW_AT_name.*: C3" 3
+check_num $STDOUT "DW_AT_name.*: testcase1" 6
+check_num $STDOUT "DW_AT_name.*: testcase2" 6
+check_num $STDOUT "DW_AT_name.*: testcase3" 6
+check_num $STDOUT "DW_AT_name.*: testcase4" 4
diff --git a/gold/testsuite/dwp_test_main.cc b/gold/testsuite/dwp_test_main.cc
new file mode 100644
index 0000000..abddc0f
--- /dev/null
+++ b/gold/testsuite/dwp_test_main.cc
@@ -0,0 +1,59 @@
+// dwp_test_main.cc -- a test case for dwp
+
+// Copyright 2012 Free Software Foundation, Inc.
+// Written by Cary Coutant <ccoutant@google.com>.
+
+// This file is part of gold.
+
+// 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, write to the Free Software
+// Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+// MA 02110-1301, USA.
+
+// Adapted from two_file_test_main.cc.
+
+#include <cassert>
+
+#include "dwp_test.h"
+
+int
+main()
+{
+ C1 c1;
+ C2 c2;
+
+ // Initialize common data.
+ v3 = 789;
+ for (int i = 0; i < 13; ++i)
+ v5[i] = v4[i];
+
+ assert(c1.testcase1());
+ assert(c1.t1a());
+ assert(c1.testcase2());
+ assert(c1.testcase3());
+ assert(c1.testcase4());
+ assert(c2.testcase1());
+ assert(c2.testcase2());
+ assert(c2.testcase3());
+ assert(c2.testcase4());
+ assert(c3.testcase1());
+ assert(c3.testcase2());
+ assert(c3.testcase3());
+ assert(t12());
+ assert(t13());
+ assert(t16());
+ assert(t16a());
+ assert(t17());
+ assert(t18());
+ return 0;
+}
diff --git a/gold/testsuite/dwp_test_main.s b/gold/testsuite/dwp_test_main.s
new file mode 100644
index 0000000..f864365
--- /dev/null
+++ b/gold/testsuite/dwp_test_main.s
@@ -0,0 +1,1399 @@
+ .file "dwp_test_main.cc"
+ .text
+.Ltext0:
+ .section .rodata
+.LC0:
+ .string "dwp_test_main.cc"
+.LC1:
+ .string "c1.testcase1()"
+.LC2:
+ .string "c1.t1a()"
+.LC3:
+ .string "c1.testcase2()"
+.LC4:
+ .string "c1.testcase3()"
+.LC5:
+ .string "c1.testcase4()"
+.LC6:
+ .string "c2.testcase1()"
+.LC7:
+ .string "c2.testcase2()"
+.LC8:
+ .string "c2.testcase3()"
+.LC9:
+ .string "c2.testcase4()"
+.LC10:
+ .string "c3.testcase1()"
+.LC11:
+ .string "c3.testcase2()"
+.LC12:
+ .string "c3.testcase3()"
+.LC13:
+ .string "t12()"
+.LC14:
+ .string "t13()"
+.LC15:
+ .string "t16()"
+.LC16:
+ .string "t16a()"
+.LC17:
+ .string "t17()"
+.LC18:
+ .string "t18()"
+ .text
+ .globl main
+ .type main, @function
+main:
+.LFB1:
+ .file 1 "dwp_test_main.cc"
+ .loc 1 31 0
+ .cfi_startproc
+ .cfi_personality 0x3,__gxx_personality_v0
+ .cfi_lsda 0x3,.LLSDA1
+ pushq %rbp
+ .cfi_def_cfa_offset 16
+ .cfi_offset 6, -16
+ movq %rsp, %rbp
+ .cfi_def_cfa_register 6
+ subq $32, %rsp
+.LBB2:
+ .loc 1 36 0
+ movl $789, v3(%rip)
+.LBB3:
+ .loc 1 37 0
+ movl $0, -4(%rbp)
+ jmp .L2
+.L3:
+ .loc 1 38 0
+ movl -4(%rbp), %eax
+ cltq
+ movzbl v4(%rax), %edx
+ movl -4(%rbp), %eax
+ cltq
+ movb %dl, v5(%rax)
+ .loc 1 37 0 discriminator 2
+ addl $1, -4(%rbp)
+.L2:
+ .loc 1 37 0 is_stmt 0 discriminator 1
+ cmpl $12, -4(%rbp)
+ setle %al
+ testb %al, %al
+ jne .L3
+.LBE3:
+ .loc 1 40 0 is_stmt 1
+ leaq -16(%rbp), %rax
+ movq %rax, %rdi
+.LEHB0:
+ call _ZN2C19testcase1Ev
+ .loc 1 40 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L4
+ .loc 1 40 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $40, %edx
+ movl $.LC0, %esi
+ movl $.LC1, %edi
+ call __assert_fail
+.L4:
+ .loc 1 41 0 is_stmt 1
+ leaq -16(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C13t1aEv
+ .loc 1 41 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L5
+ .loc 1 41 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $41, %edx
+ movl $.LC0, %esi
+ movl $.LC2, %edi
+ call __assert_fail
+.L5:
+ .loc 1 42 0 is_stmt 1
+ leaq -16(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C19testcase2Ev
+ .loc 1 42 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L6
+ .loc 1 42 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $42, %edx
+ movl $.LC0, %esi
+ movl $.LC3, %edi
+ call __assert_fail
+.L6:
+ .loc 1 43 0 is_stmt 1
+ leaq -16(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C19testcase3Ev
+ .loc 1 43 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L7
+ .loc 1 43 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $43, %edx
+ movl $.LC0, %esi
+ movl $.LC4, %edi
+ call __assert_fail
+.L7:
+ .loc 1 44 0 is_stmt 1
+ leaq -16(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C19testcase4Ev
+ .loc 1 44 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L8
+ .loc 1 44 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $44, %edx
+ movl $.LC0, %esi
+ movl $.LC5, %edi
+ call __assert_fail
+.L8:
+ .loc 1 45 0 is_stmt 1
+ leaq -32(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C29testcase1Ev
+ .loc 1 45 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L9
+ .loc 1 45 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $45, %edx
+ movl $.LC0, %esi
+ movl $.LC6, %edi
+ call __assert_fail
+.L9:
+ .loc 1 46 0 is_stmt 1
+ leaq -32(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C29testcase2Ev
+ .loc 1 46 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L10
+ .loc 1 46 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $46, %edx
+ movl $.LC0, %esi
+ movl $.LC7, %edi
+ call __assert_fail
+.L10:
+ .loc 1 47 0 is_stmt 1
+ leaq -32(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C29testcase3Ev
+ .loc 1 47 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L11
+ .loc 1 47 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $47, %edx
+ movl $.LC0, %esi
+ movl $.LC8, %edi
+ call __assert_fail
+.L11:
+ .loc 1 48 0 is_stmt 1
+ leaq -32(%rbp), %rax
+ movq %rax, %rdi
+ call _ZN2C29testcase4Ev
+ .loc 1 48 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L12
+ .loc 1 48 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $48, %edx
+ movl $.LC0, %esi
+ movl $.LC9, %edi
+ call __assert_fail
+.L12:
+ .loc 1 49 0 is_stmt 1
+ movl $c3, %edi
+ call _ZN2C39testcase1Ev
+ .loc 1 49 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L13
+ .loc 1 49 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $49, %edx
+ movl $.LC0, %esi
+ movl $.LC10, %edi
+ call __assert_fail
+.L13:
+ .loc 1 50 0 is_stmt 1
+ movl $c3, %edi
+ call _ZN2C39testcase2Ev
+ .loc 1 50 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L14
+ .loc 1 50 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $50, %edx
+ movl $.LC0, %esi
+ movl $.LC11, %edi
+ call __assert_fail
+.L14:
+ .loc 1 51 0 is_stmt 1
+ movl $c3, %edi
+ call _ZN2C39testcase3Ev
+ .loc 1 51 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L15
+ .loc 1 51 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $51, %edx
+ movl $.LC0, %esi
+ movl $.LC12, %edi
+ call __assert_fail
+.L15:
+ .loc 1 52 0 is_stmt 1
+ call _Z3t12v
+ .loc 1 52 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L16
+ .loc 1 52 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $52, %edx
+ movl $.LC0, %esi
+ movl $.LC13, %edi
+ call __assert_fail
+.L16:
+ .loc 1 53 0 is_stmt 1
+ call _Z3t13v
+ .loc 1 53 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L17
+ .loc 1 53 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $53, %edx
+ movl $.LC0, %esi
+ movl $.LC14, %edi
+ call __assert_fail
+.L17:
+ .loc 1 54 0 is_stmt 1
+ call _Z3t16v
+ .loc 1 54 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L18
+ .loc 1 54 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $54, %edx
+ movl $.LC0, %esi
+ movl $.LC15, %edi
+ call __assert_fail
+.L18:
+ .loc 1 55 0 is_stmt 1
+ call _Z4t16av
+ .loc 1 55 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L19
+ .loc 1 55 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $55, %edx
+ movl $.LC0, %esi
+ movl $.LC16, %edi
+ call __assert_fail
+.L19:
+ .loc 1 56 0 is_stmt 1
+ call _Z3t17v
+ .loc 1 56 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L20
+ .loc 1 56 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $56, %edx
+ movl $.LC0, %esi
+ movl $.LC17, %edi
+ call __assert_fail
+.L20:
+ .loc 1 57 0 is_stmt 1
+ call _Z3t18v
+.LEHE0:
+ .loc 1 57 0 is_stmt 0 discriminator 1
+ testb %al, %al
+ jne .L21
+ .loc 1 57 0 discriminator 2
+ movl $_ZZ4mainE19__PRETTY_FUNCTION__, %ecx
+ movl $57, %edx
+ movl $.LC0, %esi
+ movl $.LC18, %edi
+ call __assert_fail
+.L21:
+ .loc 1 58 0 is_stmt 1
+ movl $0, %eax
+ jmp .L25
+.L24:
+ movq %rax, %rdi
+.LEHB1:
+ call _Unwind_Resume
+.LEHE1:
+.L25:
+.LBE2:
+ .loc 1 59 0
+ leave
+ .cfi_def_cfa 7, 8
+ ret
+ .cfi_endproc
+.LFE1:
+ .globl __gxx_personality_v0
+ .section .gcc_except_table,"a",@progbits
+.LLSDA1:
+ .byte 0xff
+ .byte 0xff
+ .byte 0x1
+ .uleb128 .LLSDACSE1-.LLSDACSB1
+.LLSDACSB1:
+ .uleb128 .LEHB0-.LFB1
+ .uleb128 .LEHE0-.LEHB0
+ .uleb128 .L24-.LFB1
+ .uleb128 0
+ .uleb128 .LEHB1-.LFB1
+ .uleb128 .LEHE1-.LEHB1
+ .uleb128 0
+ .uleb128 0
+.LLSDACSE1:
+ .text
+ .size main, .-main
+ .section .rodata
+ .type _ZZ4mainE19__PRETTY_FUNCTION__, @object
+ .size _ZZ4mainE19__PRETTY_FUNCTION__, 11
+_ZZ4mainE19__PRETTY_FUNCTION__:
+ .string "int main()"
+ .text
+.Letext0:
+ .file 2 "dwp_test.h"
+ .section .debug_types.dwo,"G",@progbits,wt.bb2916f0c1bd34b5,comdat
+ .long 0xf7
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x8a
+ .byte 0xda
+ .byte 0x59
+ .byte 0x6e
+ .byte 0x4d
+ .byte 0x5c
+ .byte 0xa
+ .byte 0x88
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C3"
+ .byte 0x4
+ .byte 0x2
+ .byte 0x2f
+ .long 0xda
+ .uleb128 0x3
+ .uleb128 0x3
+ .byte 0x2
+ .byte 0x36
+ .long 0xda
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .uleb128 0
+ .byte 0x2
+ .byte 0x32
+ .string "_ZN2C39testcase1Ev"
+ .long 0xe1
+ .byte 0x1
+ .long 0x5e
+ .long 0x64
+ .uleb128 0x5
+ .long 0xe9
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x33
+ .string "_ZN2C39testcase2Ev"
+ .long 0xe1
+ .byte 0x1
+ .long 0x88
+ .long 0x8e
+ .uleb128 0x5
+ .long 0xe9
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2
+ .byte 0x2
+ .byte 0x34
+ .string "_ZN2C39testcase3Ev"
+ .long 0xe1
+ .byte 0x1
+ .long 0xb2
+ .long 0xb8
+ .uleb128 0x5
+ .long 0xe9
+ .byte 0
+ .uleb128 0x6
+ .string "f4"
+ .byte 0x2
+ .byte 0x35
+ .string "_ZN2C32f4Ev"
+ .long 0xef
+ .byte 0x1
+ .long 0xd3
+ .uleb128 0x5
+ .long 0xe9
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .uleb128 0x8
+ .byte 0x8
+ .long 0xf5
+ .uleb128 0x9
+ .long 0xe1
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.bb2916f0c1bd34b5,comdat
+ .long 0x71
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_main.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_types.dwo,"G",@progbits,wt.66526f88bcc798ab,comdat
+ .long 0xf1
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0x66
+ .byte 0x52
+ .byte 0x6f
+ .byte 0x88
+ .byte 0xbc
+ .byte 0xc7
+ .byte 0x98
+ .byte 0xab
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0x4b
+ .byte 0xf9
+ .byte 0xce
+ .byte 0xbf
+ .byte 0xd8
+ .byte 0xf0
+ .byte 0x4a
+ .byte 0xae
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C2"
+ .byte 0x4
+ .byte 0x2
+ .byte 0x25
+ .long 0xdf
+ .uleb128 0x3
+ .uleb128 0x3
+ .byte 0x2
+ .byte 0x2c
+ .long 0xdf
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .uleb128 0
+ .byte 0x2
+ .byte 0x28
+ .string "_ZN2C29testcase1Ev"
+ .long 0xe6
+ .byte 0x1
+ .long 0x5e
+ .long 0x64
+ .uleb128 0x5
+ .long 0xee
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x29
+ .string "_ZN2C29testcase2Ev"
+ .long 0xe6
+ .byte 0x1
+ .long 0x88
+ .long 0x8e
+ .uleb128 0x5
+ .long 0xee
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2
+ .byte 0x2
+ .byte 0x2a
+ .string "_ZN2C29testcase3Ev"
+ .long 0xe6
+ .byte 0x1
+ .long 0xb2
+ .long 0xb8
+ .uleb128 0x5
+ .long 0xee
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0x4
+ .byte 0x2
+ .byte 0x2b
+ .string "_ZN2C29testcase4Ev"
+ .long 0xe6
+ .byte 0x1
+ .long 0xd8
+ .uleb128 0x5
+ .long 0xee
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.66526f88bcc798ab,comdat
+ .long 0x71
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0x66
+ .byte 0x52
+ .byte 0x6f
+ .byte 0x88
+ .byte 0xbc
+ .byte 0xc7
+ .byte 0x98
+ .byte 0xab
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_main.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_types.dwo,"G",@progbits,wt.c419a9b7a4a2fab5,comdat
+ .long 0x141
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .long 0x25
+ .uleb128 0x1
+ .byte 0x4
+ .byte 0xe3
+ .byte 0xad
+ .byte 0x5
+ .byte 0x3b
+ .byte 0x75
+ .byte 0xeb
+ .byte 0xfb
+ .byte 0xc7
+ .long .Lskeleton_debug_line0
+ .uleb128 0x2
+ .string "C1"
+ .byte 0x4
+ .byte 0x2
+ .byte 0x19
+ .long 0x12f
+ .uleb128 0x3
+ .uleb128 0x3
+ .byte 0x2
+ .byte 0x22
+ .long 0x12f
+ .byte 0
+ .byte 0x1
+ .uleb128 0x4
+ .uleb128 0
+ .byte 0x2
+ .byte 0x1c
+ .string "_ZN2C19testcase1Ev"
+ .long 0x136
+ .byte 0x1
+ .long 0x5e
+ .long 0x64
+ .uleb128 0x5
+ .long 0x13e
+ .byte 0
+ .uleb128 0xb
+ .string "t1a"
+ .byte 0x2
+ .byte 0x1d
+ .string "_ZN2C13t1aEv"
+ .long 0x136
+ .byte 0x1
+ .long 0x85
+ .long 0x8b
+ .uleb128 0x5
+ .long 0x13e
+ .byte 0
+ .uleb128 0xb
+ .string "t1_2"
+ .byte 0x2
+ .byte 0x1e
+ .string "_ZN2C14t1_2Ev"
+ .long 0x12f
+ .byte 0x1
+ .long 0xae
+ .long 0xb4
+ .uleb128 0x5
+ .long 0x13e
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x1
+ .byte 0x2
+ .byte 0x1f
+ .string "_ZN2C19testcase2Ev"
+ .long 0x136
+ .byte 0x1
+ .long 0xd8
+ .long 0xde
+ .uleb128 0x5
+ .long 0x13e
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2
+ .byte 0x2
+ .byte 0x20
+ .string "_ZN2C19testcase3Ev"
+ .long 0x136
+ .byte 0x1
+ .long 0x102
+ .long 0x108
+ .uleb128 0x5
+ .long 0x13e
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0x4
+ .byte 0x2
+ .byte 0x21
+ .string "_ZN2C19testcase4Ev"
+ .long 0x136
+ .byte 0x1
+ .long 0x128
+ .uleb128 0x5
+ .long 0x13e
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0x8
+ .byte 0x8
+ .long 0x25
+ .byte 0
+ .section .debug_types,"G",@progbits,wt.c419a9b7a4a2fab5,comdat
+ .long 0x71
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .long 0
+ .uleb128 0x2
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_main.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_info.dwo,"e",@progbits
+.Ldebug_info0:
+ .long 0x178
+ .value 0x4
+ .long .Ldebug_abbrev0
+ .byte 0x8
+ .uleb128 0xc
+ .string "GNU C++ 4.7.x-google 20120720 (prerelease)"
+ .byte 0x4
+ .string "dwp_test_main.cc"
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .byte 0xc8
+ .byte 0xeb
+ .byte 0x9a
+ .byte 0x5c
+ .byte 0xd9
+ .byte 0x51
+ .byte 0xba
+ .byte 0xe5
+ .uleb128 0x7
+ .byte 0x4
+ .byte 0x5
+ .string "int"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x2
+ .string "bool"
+ .uleb128 0xd
+ .string "main"
+ .byte 0x1
+ .byte 0x1e
+ .long 0x90
+ .uleb128 0
+ .quad .LFE1-.LFB1
+ .uleb128 0x1
+ .byte 0x9c
+ .long 0x11b
+ .uleb128 0xe
+ .uleb128 0x1
+ .quad .LBE2-.LBB2
+ .uleb128 0xf
+ .string "c1"
+ .byte 0x1
+ .byte 0x20
+ .byte 0xc4
+ .byte 0x19
+ .byte 0xa9
+ .byte 0xb7
+ .byte 0xa4
+ .byte 0xa2
+ .byte 0xfa
+ .byte 0xb5
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -32
+ .uleb128 0xf
+ .string "c2"
+ .byte 0x1
+ .byte 0x21
+ .byte 0x66
+ .byte 0x52
+ .byte 0x6f
+ .byte 0x88
+ .byte 0xbc
+ .byte 0xc7
+ .byte 0x98
+ .byte 0xab
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -48
+ .uleb128 0x10
+ .string "__PRETTY_FUNCTION__"
+ .long 0x13f
+ .uleb128 0x2
+ .byte 0xfb
+ .uleb128 0x2
+ .uleb128 0xe
+ .uleb128 0x3
+ .quad .LBE3-.LBB3
+ .uleb128 0x11
+ .string "i"
+ .byte 0x1
+ .byte 0x25
+ .long 0x90
+ .uleb128 0x2
+ .byte 0x91
+ .sleb128 -20
+ .byte 0
+ .byte 0
+ .byte 0
+ .uleb128 0x12
+ .long 0x137
+ .long 0x12b
+ .uleb128 0x13
+ .long 0x12b
+ .byte 0xa
+ .byte 0
+ .uleb128 0x7
+ .byte 0x8
+ .byte 0x7
+ .string "sizetype"
+ .uleb128 0x7
+ .byte 0x1
+ .byte 0x6
+ .string "char"
+ .uleb128 0x14
+ .long 0x11b
+ .uleb128 0x15
+ .string "c3"
+ .byte 0x2
+ .byte 0x39
+ .byte 0xbb
+ .byte 0x29
+ .byte 0x16
+ .byte 0xf0
+ .byte 0xc1
+ .byte 0xbd
+ .byte 0x34
+ .byte 0xb5
+ .uleb128 0x16
+ .string "v3"
+ .byte 0x2
+ .byte 0x3c
+ .long 0x90
+ .uleb128 0x12
+ .long 0x137
+ .long 0x167
+ .uleb128 0x17
+ .byte 0
+ .uleb128 0x16
+ .string "v4"
+ .byte 0x2
+ .byte 0x3d
+ .long 0x15c
+ .uleb128 0x16
+ .string "v5"
+ .byte 0x2
+ .byte 0x3e
+ .long 0x15c
+ .byte 0
+ .section .debug_info,"",@progbits
+.Lskeleton_debug_info0:
+ .long 0x81
+ .value 0x4
+ .long .Lskeleton_debug_abbrev0
+ .byte 0x8
+ .uleb128 0x1
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .long .Ldebug_line0
+ .byte 0xc8
+ .byte 0xeb
+ .byte 0x9a
+ .byte 0x5c
+ .byte 0xd9
+ .byte 0x51
+ .byte 0xba
+ .byte 0xe5
+ .string "/home/ccoutant/opensource/binutils-git/binutils/gold/testsuite"
+ .string "dwp_test_main.dwo"
+ .long .Ldebug_pubnames0
+ .long .Ldebug_pubtypes0
+ .long .Ldebug_addr0
+ .section .debug_abbrev,"",@progbits
+.Lskeleton_debug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x11
+ .byte 0
+ .uleb128 0x11
+ .uleb128 0x1
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .uleb128 0x2131
+ .uleb128 0x7
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2130
+ .uleb128 0x8
+ .uleb128 0x2134
+ .uleb128 0x17
+ .uleb128 0x2135
+ .uleb128 0x17
+ .uleb128 0x2133
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x41
+ .byte 0
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2130
+ .uleb128 0x8
+ .uleb128 0x2134
+ .uleb128 0x17
+ .uleb128 0x2135
+ .uleb128 0x17
+ .uleb128 0x2133
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_abbrev.dwo,"e",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1
+ .uleb128 0x41
+ .byte 0x1
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x210f
+ .uleb128 0x7
+ .uleb128 0x10
+ .uleb128 0x17
+ .byte 0
+ .byte 0
+ .uleb128 0x2
+ .uleb128 0x2
+ .byte 0x1
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0xd
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x38
+ .uleb128 0xb
+ .uleb128 0x32
+ .uleb128 0xb
+ .byte 0
+ .byte 0
+ .uleb128 0x4
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x5
+ .uleb128 0x5
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x34
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x6
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x7
+ .uleb128 0x24
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x3e
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .byte 0
+ .byte 0
+ .uleb128 0x8
+ .uleb128 0xf
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x9
+ .uleb128 0x15
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xa
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x1f02
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xb
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x6e
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x32
+ .uleb128 0xb
+ .uleb128 0x3c
+ .uleb128 0x19
+ .uleb128 0x64
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xc
+ .uleb128 0x11
+ .byte 0x1
+ .uleb128 0x25
+ .uleb128 0x8
+ .uleb128 0x13
+ .uleb128 0xb
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x1b
+ .uleb128 0x8
+ .uleb128 0x2131
+ .uleb128 0x7
+ .byte 0
+ .byte 0
+ .uleb128 0xd
+ .uleb128 0x2e
+ .byte 0x1
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .uleb128 0x40
+ .uleb128 0x18
+ .uleb128 0x2116
+ .uleb128 0x19
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0xe
+ .uleb128 0xb
+ .byte 0x1
+ .uleb128 0x11
+ .uleb128 0x1f01
+ .uleb128 0x12
+ .uleb128 0x7
+ .byte 0
+ .byte 0
+ .uleb128 0xf
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x20
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x10
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x34
+ .uleb128 0x19
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x11
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x2
+ .uleb128 0x18
+ .byte 0
+ .byte 0
+ .uleb128 0x12
+ .uleb128 0x1
+ .byte 0x1
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x1
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x13
+ .uleb128 0x21
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x2f
+ .uleb128 0xb
+ .byte 0
+ .byte 0
+ .uleb128 0x14
+ .uleb128 0x26
+ .byte 0
+ .uleb128 0x49
+ .uleb128 0x13
+ .byte 0
+ .byte 0
+ .uleb128 0x15
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x20
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x16
+ .uleb128 0x34
+ .byte 0
+ .uleb128 0x3
+ .uleb128 0x8
+ .uleb128 0x3a
+ .uleb128 0xb
+ .uleb128 0x3b
+ .uleb128 0xb
+ .uleb128 0x49
+ .uleb128 0x13
+ .uleb128 0x3f
+ .uleb128 0x19
+ .uleb128 0x3c
+ .uleb128 0x19
+ .byte 0
+ .byte 0
+ .uleb128 0x17
+ .uleb128 0x21
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_gnu_pubnames,"",@progbits
+.Ldebug_pubnames0:
+ .long 0x18
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .long 0x17c
+ .long 0x9f
+ .byte 0x30
+ .string "main"
+ .long 0
+ .section .debug_gnu_pubtypes,"",@progbits
+.Ldebug_pubtypes0:
+ .long 0x51
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .long 0x17c
+ .long 0x90
+ .byte 0x90
+ .string "int"
+ .long 0x97
+ .byte 0x90
+ .string "bool"
+ .long 0
+ .byte 0x10
+ .string "C1"
+ .long 0
+ .byte 0x10
+ .string "C2"
+ .long 0
+ .byte 0x10
+ .string "C3"
+ .long 0x12b
+ .byte 0x90
+ .string "sizetype"
+ .long 0x137
+ .byte 0x90
+ .string "char"
+ .long 0
+ .section .debug_aranges,"",@progbits
+ .long 0x2c
+ .value 0x2
+ .long .Lskeleton_debug_info0
+ .byte 0x8
+ .byte 0
+ .value 0
+ .value 0
+ .quad .Ltext0
+ .quad .Letext0-.Ltext0
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_line.dwo,"e",@progbits
+.Lskeleton_debug_line0:
+ .long .LELT0-.LSLT0
+.LSLT0:
+ .value 0x4
+ .long .LELTP0-.LASLTP0
+.LASLTP0:
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0xf6
+ .byte 0xf2
+ .byte 0xd
+ .byte 0
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0x1
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .byte 0
+ .string "dwp_test_main.cc"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+ .string "dwp_test.h"
+ .uleb128 0
+ .uleb128 0
+ .uleb128 0
+ .byte 0
+.LELTP0:
+.LELT0:
+ .section .debug_str_offsets.dwo,"e",@progbits
+ .long 0
+ .long 0xa
+ .long 0x14
+ .long 0x1e
+ .long 0x26
+ .section .debug_str.dwo,"e",@progbits
+.LASF0:
+ .string "testcase1"
+.LASF1:
+ .string "testcase2"
+.LASF2:
+ .string "testcase3"
+.LASF3:
+ .string "member1"
+.LASF4:
+ .string "testcase4"
+ .section .debug_addr,"",@progbits
+.Ldebug_addr0:
+ .quad .LFB1
+ .quad .LBB2
+ .quad _ZZ4mainE19__PRETTY_FUNCTION__
+ .quad .LBB3
+ .ident "GCC: (Google_crosstoolv16-gcc-4.7.x-grtev3) 4.7.x-google 20120720 (prerelease)"
+ .section .note.GNU-stack,"",@progbits