1<abi-corpus version='2.0' architecture='elf-amd-x86_64'>
2  <elf-needed>
3    <dependency name='libstdc++.so.6'/>
4    <dependency name='libm.so.6'/>
5    <dependency name='libgcc_s.so.1'/>
6    <dependency name='libc.so.6'/>
7  </elf-needed>
8  <elf-function-symbols>
9    <!-- foo(s0&) -->
10    <elf-symbol name='_Z3fooR2s0' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
11    <!-- b0::b0() -->
12    <elf-symbol name='_ZN2b0C1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
13    <!-- b0::b0() -->
14    <elf-symbol name='_ZN2b0C2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN2b0C1Ev' is-defined='yes'/>
15    <!-- b1::b1() -->
16    <elf-symbol name='_ZN2b1C1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' alias='_ZN2b1C2Ev' is-defined='yes'/>
17    <!-- b1::b1() -->
18    <elf-symbol name='_ZN2b1C2Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
19    <!-- s0::mem_fun() -->
20    <elf-symbol name='_ZN2s07mem_funEv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
21    <!-- s0::s0() -->
22    <elf-symbol name='_ZN2s0C1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
23    <!-- s0::~s0() -->
24    <elf-symbol name='_ZN2s0D1Ev' type='func-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
25    <!-- __libc_csu_fini -->
26    <elf-symbol name='__libc_csu_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
27    <!-- __libc_csu_init -->
28    <elf-symbol name='__libc_csu_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
29    <!-- _fini -->
30    <elf-symbol name='_fini' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
31    <!-- _init -->
32    <elf-symbol name='_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
33    <!-- _start -->
34    <elf-symbol name='_start' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
35    <!-- main -->
36    <elf-symbol name='main' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
37  </elf-function-symbols>
38  <elf-variable-symbols>
39    <!-- _IO_stdin_used -->
40    <elf-symbol name='_IO_stdin_used' size='4' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
41    <!-- typeinfo for b0 -->
42    <elf-symbol name='_ZTI2b0' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
43    <!-- typeinfo for b1 -->
44    <elf-symbol name='_ZTI2b1' size='16' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
45    <!-- typeinfo for s0 -->
46    <elf-symbol name='_ZTI2s0' size='56' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
47    <!-- typeinfo name for b0 -->
48    <elf-symbol name='_ZTS2b0' size='4' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
49    <!-- typeinfo name for b1 -->
50    <elf-symbol name='_ZTS2b1' size='4' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
51    <!-- typeinfo name for s0 -->
52    <elf-symbol name='_ZTS2s0' size='4' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
53    <!-- VTT for s0 -->
54    <elf-symbol name='_ZTT2s0' size='8' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
55    <!-- vtable for s0 -->
56    <elf-symbol name='_ZTV2s0' size='32' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
57    <!-- _ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3 -->
58    <elf-symbol name='_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3' size='88' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
59    <!-- _ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3 -->
60    <elf-symbol name='_ZTVN10__cxxabiv121__vmi_class_type_infoE@@CXXABI_1.3' size='88' type='object-type' binding='weak-binding' visibility='default-visibility' is-defined='yes'/>
61  </elf-variable-symbols>
62  <abi-instr address-size='64' path='test1.cc' comp-dir-path='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf' language='LANG_C_plus_plus'>
63    <!-- char -->
64    <type-decl name='char' size-in-bits='8' id='type-id-1'/>
65    <!-- double -->
66    <type-decl name='double' size-in-bits='64' id='type-id-2'/>
67    <!-- int -->
68    <type-decl name='int' size-in-bits='32' id='type-id-3'/>
69    <!-- long long int -->
70    <type-decl name='long long int' size-in-bits='64' id='type-id-4'/>
71    <!-- unsigned char -->
72    <type-decl name='unsigned char' size-in-bits='8' id='type-id-5'/>
73    <!-- void -->
74    <type-decl name='void' id='type-id-6'/>
75    <!-- struct b0 -->
76    <class-decl name='b0' size-in-bits='128' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='1' column='1' id='type-id-7'>
77      <data-member access='public' layout-offset-in-bits='0'>
78        <!-- long long int b0::m0 -->
79        <var-decl name='m0' type-id='type-id-4' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='3' column='1'/>
80      </data-member>
81      <data-member access='public' layout-offset-in-bits='64'>
82        <!-- char b0::m1 -->
83        <var-decl name='m1' type-id='type-id-1' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='4' column='1'/>
84      </data-member>
85    </class-decl>
86    <!-- struct b1 -->
87    <class-decl name='b1' size-in-bits='128' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='7' column='1' id='type-id-8'>
88      <data-member access='public' layout-offset-in-bits='0'>
89        <!-- double b1::m0 -->
90        <var-decl name='m0' type-id='type-id-2' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='9' column='1'/>
91      </data-member>
92      <data-member access='public' layout-offset-in-bits='64'>
93        <!-- char b1::m1 -->
94        <var-decl name='m1' type-id='type-id-1' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='10' column='1'/>
95      </data-member>
96    </class-decl>
97    <!-- struct s0 -->
98    <class-decl name='s0' size-in-bits='384' is-struct='yes' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='13' column='1' id='type-id-9'>
99      <!-- struct b0 -->
100      <base-class access='public' layout-offset-in-bits='192' is-virtual='yes' type-id='type-id-7'/>
101      <!-- struct b1 -->
102      <base-class access='public' layout-offset-in-bits='256' is-virtual='yes' type-id='type-id-8'/>
103      <member-type access='public'>
104        <!-- typedef int s0::integer -->
105        <typedef-decl name='integer' type-id='type-id-3' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='15' column='1' id='type-id-10'/>
106      </member-type>
107      <member-type access='public'>
108        <!-- typedef unsigned char s0::byte -->
109        <typedef-decl name='byte' type-id='type-id-5' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='16' column='1' id='type-id-11'/>
110      </member-type>
111      <data-member access='public' layout-offset-in-bits='64'>
112        <!-- s0::integer s0::m0 -->
113        <var-decl name='m0' type-id='type-id-10' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='18' column='1'/>
114      </data-member>
115      <data-member access='public' layout-offset-in-bits='96'>
116        <!-- s0::byte s0::m1 -->
117        <var-decl name='m1' type-id='type-id-11' visibility='default' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='19' column='1'/>
118      </data-member>
119      <member-function access='public' constructor='yes'>
120        <!-- s0::s0(int, void**) -->
121        <function-decl name='s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64'>
122          <!-- implicit parameter of type 's0*' -->
123          <parameter type-id='type-id-12' is-artificial='yes'/>
124          <!-- artificial parameter of type 'int' -->
125          <parameter type-id='type-id-3' is-artificial='yes'/>
126          <!-- artificial parameter of type 'void**' -->
127          <parameter type-id='type-id-13' is-artificial='yes'/>
128          <!-- void -->
129          <return type-id='type-id-6'/>
130        </function-decl>
131      </member-function>
132      <member-function access='public' destructor='yes'>
133        <!-- s0::~s0(int, void**) -->
134        <function-decl name='~s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='27' column='1' visibility='default' binding='global' size-in-bits='64'>
135          <!-- implicit parameter of type 's0*' -->
136          <parameter type-id='type-id-12' is-artificial='yes'/>
137          <!-- artificial parameter of type 'int' -->
138          <parameter type-id='type-id-3' is-artificial='yes'/>
139          <!-- artificial parameter of type 'void**' -->
140          <parameter type-id='type-id-13' is-artificial='yes'/>
141          <!-- void -->
142          <return type-id='type-id-6'/>
143        </function-decl>
144      </member-function>
145      <member-function access='public' constructor='yes'>
146        <!-- s0::s0(int, void**) -->
147        <function-decl name='s0' mangled-name='_ZN2s0C1Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='21' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN2s0C1Ev'>
148          <!-- implicit parameter of type 's0*' -->
149          <parameter type-id='type-id-12' is-artificial='yes'/>
150          <!-- artificial parameter of type 'int' -->
151          <parameter type-id='type-id-3' is-artificial='yes'/>
152          <!-- artificial parameter of type 'void**' -->
153          <parameter type-id='type-id-13' is-artificial='yes'/>
154          <!-- void -->
155          <return type-id='type-id-6'/>
156        </function-decl>
157      </member-function>
158      <member-function access='public' destructor='yes'>
159        <!-- s0::~s0(int, void**) -->
160        <function-decl name='~s0' mangled-name='_ZN2s0D1Ev' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='27' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN2s0D1Ev'>
161          <!-- implicit parameter of type 's0*' -->
162          <parameter type-id='type-id-12' is-artificial='yes'/>
163          <!-- artificial parameter of type 'int' -->
164          <parameter type-id='type-id-3' is-artificial='yes'/>
165          <!-- artificial parameter of type 'void**' -->
166          <parameter type-id='type-id-13' is-artificial='yes'/>
167          <!-- void -->
168          <return type-id='type-id-6'/>
169        </function-decl>
170      </member-function>
171      <member-function access='public'>
172        <!-- s0::integer s0::mem_fun() -->
173        <function-decl name='mem_fun' mangled-name='_ZN2s07mem_funEv' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='36' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_ZN2s07mem_funEv'>
174          <!-- implicit parameter of type 's0* const' -->
175          <parameter type-id='type-id-14' name='this' is-artificial='yes'/>
176          <!-- typedef s0::integer -->
177          <return type-id='type-id-10'/>
178        </function-decl>
179      </member-function>
180    </class-decl>
181    <!-- s0& -->
182    <qualified-type-def type-id='type-id-15' id='type-id-16'/>
183    <!-- s0& -->
184    <reference-type-def kind='lvalue' type-id='type-id-9' size-in-bits='64' id='type-id-15'/>
185    <!-- s0* -->
186    <pointer-type-def type-id='type-id-9' size-in-bits='64' id='type-id-12'/>
187    <!-- s0* const -->
188    <qualified-type-def type-id='type-id-12' const='yes' id='type-id-14'/>
189    <!-- void* -->
190    <pointer-type-def type-id='type-id-6' size-in-bits='64' id='type-id-17'/>
191    <!-- void** -->
192    <pointer-type-def type-id='type-id-17' size-in-bits='64' id='type-id-13'/>
193    <!-- void foo(s0&) -->
194    <function-decl name='foo' mangled-name='_Z3fooR2s0' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='42' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_Z3fooR2s0'>
195      <!-- parameter of type 's0&' -->
196      <parameter type-id='type-id-16' name='s' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='42' column='1'/>
197      <!-- void -->
198      <return type-id='type-id-6'/>
199    </function-decl>
200    <!-- int main() -->
201    <function-decl name='main' mangled-name='main' filepath='/home/dodji/git/libabigail/dwarf/tests/data/test-read-dwarf/test1.cc' line='48' column='1' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='main'>
202      <!-- int -->
203      <return type-id='type-id-3'/>
204    </function-decl>
205  </abi-instr>
206</abi-corpus>
207