summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@redhat.com>2016-03-08 08:47:32 +0100
committerDodji Seketeli <dodji@redhat.com>2016-03-08 08:47:32 +0100
commitdbf6c14f4620027c58b7d0482b104ce249de0d46 (patch)
tree9488293f971d9a0acf99df64d9fe104fa8e5b8dc /ChangeLog
parentUpdate NEWS file for 1.0.rc3 (diff)
downloadlibabigail-dbf6c14f4620027c58b7d0482b104ce249de0d46.tar.gz
libabigail-dbf6c14f4620027c58b7d0482b104ce249de0d46.tar.bz2
libabigail-dbf6c14f4620027c58b7d0482b104ce249de0d46.tar.xz
Update ChangeLog before 1.0.rc3libabigail-1.0.rc3
* ChangeLog: Update for 1.0.rc3 Signed-off-by: Dodji Seketeli <dodji@redhat.com>
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog1007
1 files changed, 1007 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 20bf9c57..7583b1ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1010 @@
12016-03-08 Dodji Seketeli <dodji@redhat.com>
2
3 Update NEWS file for 1.0.rc3
4 * NEWS: update for 1.0.rc3
5
62016-03-07 Dodji Seketeli <dodji@redhat.com>
7
8 Walk function_type_diff tree in a deterministic way
9 * src/abg-comparison.cc
10 (function_type_diff::priv::{sorted_subtype_changed_parms_,
11 sorted_changed_parms_by_id_}): Add two data members.
12 (function_type_diff::ensure_lookup_tables_populated): Sort the
13 changed parameters here ...
14 (function_type_diff::report): ... not here.
15 (function_type_diff::chain_into_hierarchy): Chain the *sorted*
16 changed parameters.
17
182016-03-07 Dodji Seketeli <dodji@redhat.com>
19
20 Fix reference to test file in Makefile.am
21 * tests/data/Makefile.am: Fix bogus reference to
22 libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt.
23
242016-03-07 Dodji Seketeli <dodji@redhat.com>
25
26 Bug 19780 - abipkgdiff doesn't support parallel execution
27 * tools/abipkgdiff.cc: Update copyright notice.
28 (package::extracted_packages_parent_dir): Use mkdtemp to generate
29 the unique root directory under which packages are extracted.
30 * tests/test-diff-pkg.cc (struct test_task): New type.
31 (main): Use worker threads to run abipkgdiff in parallel,
32 depending on the number of CPUs advertised by the underlying
33 machine.
34
352016-03-07 Dodji Seketeli <dodji@redhat.com>
36
37 Bug 19778 - diff_has_ancestor_filtered_out() loops forever
38 * src/abg-comparison.cc (diff_has_ancestor_filtered_out): Add an
39 overload that takes an additional map of pointer values. Make the
40 older overload call the new one.
41 * tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm: New test material.
42 * tests/data/test-diff-pkg/libICE-1.0.6-1.el6.x86_64.rpm--libICE-1.0.9-2.el7.x86_64.rpm-report-0.txt:
43 New reference output.
44 * tests/data/test-diff-pkg/libICE-1.0.9-2.el7.x86_64.rpm: New test material.
45 * tests/data/test-diff-pkg/libICE-debuginfo-1.0.6-1.el6.x86_64.rpm: New test material.
46 * tests/data/test-diff-pkg/libICE-debuginfo-1.0.9-2.el7.x86_64.rpm:
47 New test material.
48 * tests/data/Makefile.am: Add the new test material to source distribution.
49 * tests/test-diff-pkg.cc (in_out_specs): Run this test harness
50 over the new tests material above.
51
522016-03-07 Dodji Seketeli <dodji@redhat.com>
53
54 Forgot to add test2-filtered-removed-fns-v{0,1}.o
55 * test2-filtered-removed-fns-v{0,1}.o: Add these test input files.
56
572016-03-03 Dodji Seketeli <dodji@redhat.com>
58
59 Bug 19596 - Suppressed removed symbol changes still considered incompatible
60 * src/abg-comparison.cc (corpus_diff::has_incompatible_changes):
61 Consider the *net* number of removed function and variable
62 symbols. Also, if all function sub-type changes have been
63 suppressed, then no virtual offset change should be considered
64 incompatible.
65 * tests/data/test-abidiff-exit/test1-voffset-change-report1.txt
66 * tests/data/test-abidiff-exit/test1-voffset-change.abignore
67 * tests/data/test-abidiff-exit/test2-filtered-removed-fns-report0.txt
68 * tests/data/test-abidiff-exit/test2-filtered-removed-fns-report1.txt
69 * tests/data/test-abidiff-exit/test2-filtered-removed-fns-v0.c
70 * tests/data/test-abidiff-exit/test2-filtered-removed-fns-v1.c
71 * tests/data/test-abidiff-exit/test2-filtered-removed-fns.abignore
72 * tests/data/Makefile.am: Add the new test material above to
73 source distribution.
74 * tests/test-abidiff-exit.cc (InOutSpec::in_suppr_path): New data
75 member.
76 (in_out_specs): Adjust. Add new test inputs.
77 (main): Adjust.
78
792016-02-25 Dodji Seketeli <dodji@redhat.com>
80
81 Fixup virtual member functions with linkage and no underlying symbol
82 * src/abg-dwarf-reader.cc (die_function_decl_map_type): New
83 typedef.
84 (read_context::die_function_with_no_symbol_map_): New data member.
85 (read_context::die_function_decl_with_no_symbol_map): New
86 accessor.
87 (read_context::fixup_functions_with_no_symbols): New member
88 function.
89 (finish_member_function_reading): Take a read_context. Schedule
90 virtual member functions with linkage and no underlying symbol to
91 be fixed up after all the debug info is read.
92 (build_function_decl): After a virtual member function_decl has
93 been updated, if it has its underlying symbol and was scheduled
94 for fixup, then de-schedule it.
95 (build_class_type_and_add_to_ir, build_ir_node_from_die): Adjust
96 call to finish_member_function_reading.
97 (read_corpus_from_elf): Move the pure ELF (symbol and other mundane
98 information) information reading ...
99 (read_debug_info_into_corpus): ... here. Make it happen *before*
100 actual reading of DWARF information. We need symbol information
101 to be present and fully set before we start reading debug info.
102 This is so that we can know when a virtual member function doesn't
103 need to be fixed up. Also, perform the fixup after the debug
104 information was read.
105 * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Adjust.
106
1072016-02-25 Dodji Seketeli <dodji@redhat.com>
108
109 Add --verbose to abidw
110 * doc/manuals/abidw.rst: Update the manual for the new --verbose
111 option.
112 * tools/abidw.cc (options::do_log): New data member.
113 (options::options): Initialize it.
114 (display_usage): New string for --verbose.
115 (parse_command_line): Parse the --verbose option.
116 (main): Set the the logging option.
117
1182016-02-25 Dodji Seketeli <dodji@redhat.com>
119
120 Update copyright information
121 * tools/abidiff.cc: Update copyright info for 2016.
122 * tools/abidw.cc: Likewise.
123
1242016-02-24 Dodji Seketeli <dodji@redhat.com>
125
126 Make libabigail link with pthread
127 * src/Makefile.am: Add -pthread to libabigail_la_LDFLAGS.
128 * tools/Makefile.am: Do not use abinilint_LDFLAGS when it should
129 be abinilint_LDADD. This one was fixed by Michi Henning.
130
1312016-02-24 Dodji Seketeli <dodji@redhat.com>
132
133 Update mentions to the build dependencies in the doc
134 * COMPILING: Mention elfutils, libtool, autoconf, automake and
135 libtool.
136 * doc/website/mainpage.txt: Mention automake and libtool. Fix a typo.
137
1382016-02-24 Dodji Seketeli <dodji@redhat.com>
139
140 Bug 19706 - Core dump from abidiff with suppression
141 * src/abg-comparison.cc
142 (function_suppression::suppresses_function): Make sure a function
143 has a symbol before (de)referencing it.
144
1452016-02-24 Dodji Seketeli <dodji@redhat.com>
146
147 Some small speed optimizations
148 * include/abg-ir.h (var_decl::get_naked_type): Declare new member function.
149 * src/abg-ir.cc (var_decl::get_naked_type): Define it.
150 (equals): For the var_decl overload, avoid copying symbol
151 smart pointers. Likewise for variable type smart pointers.
152 (hash_type_or_decl): Avoid accessing canonical type smart pointer.
153
1542016-02-24 Dodji Seketeli <dodji@redhat.com>
155
156 Mist style cleanups
157 * include/abg-ir.h: Add missing comments. Space cleanups. Use
158 shorter typedefs rather than long template instantiation names.
159 Use string rather than the longer std::string.
160 * src/abg-ir.cc: Space cleanups. Add missing comments. User
161 shorter typedefs.
162 * src/abg-reader.cc: Likewise.
163 * src/abg-writer.cc: Likewise.
164
1652016-02-24 Dodji Seketeli <dodji@redhat.com>
166
167 Implement string interning for Libabigail
168 * include/Makefile.am: Add the new abg-interned-str.h file to
169 source distribution.
170 * include/abg-corpus.h (corpus::corpus): Re-arrange the order of
171 * src/abg-corpus.cc
172 (corpus::exported_decls_builder::priv::get_id): Return
173 interned_string rather than std::string.
174 (corpus::corpus): Re-arrange the order of parameters: take an
175 environment as first parameter. parameters: take an environment
176 as first parameter.
177 * include/abg-dwarf-reader.h (lookup_symbol_from_elf)
178 (lookup_public_function_symbol_from_elf): Likewise.
179 * src/abg-dwarf-reader.cc (lookup_symbol_from_sysv_hash_tab)
180 (lookup_symbol_from_gnu_hash_tab)
181 (lookup_symbol_from_elf_hash_tab, lookup_symbol_from_symtab)
182 (lookup_symbol_from_elf, lookup_public_function_symbol_from_elf)
183 (lookup_public_variable_symbol_from_elf, lookup_symbol_from_elf)
184 (lookup_public_function_symbol_from_elf): Take an environment as
185 first parameter and adjust.
186 (build_translation_unit_and_add_to_ir)
187 (build_namespace_decl_and_add_to_ir, build_type_decl)
188 (build_enum_type, finish_member_function_reading)
189 (build_class_type_and_add_to_ir, build_function_type)
190 (read_debug_info_into_corpus, read_corpus_from_elf): Adjust.
191 * include/abg-fwd.h: Include abg-interned-str.h
192 (get_type_name, get_function_type_name, get_method_type_name):
193 Return a interned_string, rather than a std::string.
194 * include/abg-interned-str.h: New declarations for interned strings
195 and their pool.
196 * include/abg-ir.h (environment::intern): Declare new method.
197 (elf_symbol::{g,s}et_environment): Likewise.
198 (type_or_decl_base::type_or_decl_base): Make the default
199 constructor private.
200 ({translation, type_or_decl_base}::set_environment)
201 (set_environment_for_artifact): Take a const environment*.
202 (elf_symbol::elf_symbol)
203 (elf_symbol::create)
204 (type_or_decl_base::type_or_decl_base)
205 (translation::translation, decl_base::decl_base)
206 (scope_decl::scope_decl, type_base::type_base)
207 (type_decl::type_decl, scope_type_decl::scope_type_decl)
208 (namespace_decl::namespace_decl)
209 (enum_type_decl::enumerator::enumerator)
210 (function_type::function_type, method_type::method_type)
211 (template_decl::template_decl, function_tdecl::function_tdecl)
212 (class_tdecl::class_tdecl, class_decl::class_decl): Take an
213 environment.
214 (type_or_decl_base::operator=)
215 (enum_type_decl::enumerator::get_environment): Declare new method.
216 (decl_base::{peek_qualified_name, peek_temporary_qualified_name,
217 get_qualified_name, get_name, get_qualified_parent_name,
218 get_linkage_name}, qualified_type_def::get_qualified_name)
219 (reference_type_def::get_qualified_name)
220 (array_type_def::get_qualified_name)
221 (enum_type_decl::enumerator::{get_name, get_qualified_name})
222 ({var,function}_decl::get_id)
223 (function_decl::parameter::{get_type_name, get_name_id}): Return
224 an interned_string, rather than a std::string.
225 (decl_base::{set_qualified_name, set_temporary_qualified_name,
226 get_qualified_name, set_linkage_name})
227 (qualified_type_def::get_qualified_name)
228 (reference_type_def::get_qualified_name)
229 (array_type_def::get_qualified_name)
230 (function_decl::parameter::get_qualified_name): Take an
231 interned_string, rather than a std::string.
232 (class_decl::member_{class,function}_template::member_{class,function}_template):
233 Adjust.
234 * src/abg-ir.cc (environment_setter::env_): Make this be a pointer
235 to const environment.
236 (environment_setter::visit_begin): Adjust.
237 (interned_string_pool::priv): Define new type.
238 (interned_string_pool::*): Define the method declared in
239 abg-interned-str. h.
240 (operator==, operator!=, operator+): Define operator for interned_string and
241 std::string
242 (operator<<): Define for interned_string.
243 (translation_unit::priv::env_): Make this be a pointer to const
244 environment.
245 (translation_unit::priv::priv): Take a pointer to const
246 environment.
247 (elf_symbol::priv::env_): New data member.
248 (elf_symbol::priv::priv): Adjust. Make an overoad take an
249 environment.
250 (translation_unit::{g,s}et_environment): Adjust.
251 (interned_string_bool_map_type): New typedef.
252 (environment::priv::classes_being_compared_): Make this hastable
253 of string be a hashtable of interned_string.
254 (environment::priv::string_pool_): New data member.
255 (environment::{get_void_type_decl,
256 get_variadic_parameter_type_decl}): Adjust.
257 (type_or_decl_base::priv::env_): Make this be a pointer to const
258 environment.
259 (type_or_decl::base::priv::priv): Adjust.
260 (type_or_decl_base::set_environment)
261 (set_environment_for_artifact): Take a pointer to const
262 environment.
263 (elf_symbol::{g,s}et_environment, environment::intern)
264 (type_or_decl_base::operator=): Define new methods.
265 (decl_base::priv::{name_, qualified_parent_name_,
266 temporary_qualified_name_, qualified_name_, linkage_name_}): Make
267 these data member be of tpe interned_string.
268 (decl_base::priv::priv): Make this take an environment. Adjust.
269 (decl_base::{peek_qualified_name, peek_temporary_qualified_name,
270 get_linkage_name, get_qualified_parent_name, get_name,
271 get_qualified_name}, get_type_name, get_function_type_name)
272 (get_method_type_name, get_node_name)
273 (qualified_type_def::get_qualified_name)
274 (pointer_type_def::get_qualified_name)
275 (array_type_def::get_qualified_name)
276 (enum_type_decl::enumerator::get_qualified_name)
277 (var_decl::get_id, function_decl::get_id)
278 (function_decl::parameter::get_{name_id, type_name}): Return an
279 interned_string.
280 (decl_base::{set_qualified_name, set_temporary_qualified_name})
281 (qualified_type_def::get_qualified_name)
282 (pointer_type_def::get_qualified_name)
283 (reference_type_def::get_qualified_name)
284 (array_type_def::get_qualified_name)
285 (function_decl::parameter::get_qualified_name): Take an
286 interned_string.
287 (decl_base::{set_name, set_linkage_name}): Intern the std::string
288 passed in parameter.
289 (equals): In the overload for decl_base, adjust for a little speed
290 optimization that is justified by profiling.
291 (pointer_type_def::priv::{internal_qualified_name_,
292 temp_internal_qualified_name_}): Make these data member be
293 interned_string.
294 (enum_type_decl::enumerator::priv::env_): New data member.
295 (enum_type_decl::enumerator::priv::{name_, qualified_name}): Make
296 these data member be of type interned_string.
297 (enum_type_decl::enumerator::get_environment): New method.
298 (enum_type_decl::enumerator::priv::priv) Adjust.
299 (typedef_decl::operator==): Implement a little speed optimization.
300 (var_decl::priv::nake_type_): New data member.
301 (var_decl::priv::id_): Make this data member be of type
302 interned_string.
303 (equals): In the overload for var_decl, function_type,
304 function_decl, adjust for the use of interned_string.
305 (function_decl::priv::id_): Make this be of type interned_string.
306 (scope_decl::{add_member_decl, insert_member_decl})
307 (lookup_function_type_in_translation_unit)
308 (synthesize_type_from_translation_unit, lookup_node_in_scope)
309 (lookup_type_in_scope, scope_decl::scope_decl)
310 (qualified_type_def::qualified_type_def)
311 (qualified_type_def::get_qualified_name)
312 (pointer_type_def::pointer_type_def)
313 (reference_type_def::reference_type_def)
314 (array_type_def::array_type_def, array_type_def::append_subrange)
315 (array_type_def::get_qualified_name)
316 (enum_type_decl::enum_type_decl)
317 (enum_type_decl::enumerator::get_qualified_name)
318 (enum_type_decl::enumerator::set_name)
319 (typedef_decl::typedef_decl, var_decl::var_decl)
320 (function_type::function_type, method_type::method_type)
321 (function_decl::function_decl)
322 (function_decl::parameter::parameter)
323 (class_decl::priv::comparison_started)
324 (class_decl::add_base_specifier)
325 (class_decl::base_spec::base_spec)
326 (class_decl::method_decl::method_decl)
327 (type_tparameter::type_tparameter)
328 (non_type_tparameter::non_type_tparameter)
329 (template_tparameter::template_tparameter)
330 (type_composition::type_composition)
331 (function_tdecl::function_tdecl, class_tdecl::class_tdecl)
332 (qualified_name_setter::do_update): Adjust.
333 (translation_unit::translation_unit, elf_symbol::elf_symbol)
334 (elf_symbol::create, type_or_decl_base::type_or_decl_base)
335 (decl_base::decl_base, type_base::type_base)
336 (type_decl::type_decl, scope_type_decl::scope_type_decl)
337 (namespace_decl::namespace_decl)
338 (enum_type_decl::enumerator::enumerator, class_decl::class_decl)
339 (template_decl::template_decl, function_tdecl::function_tdecl)
340 (class_tdecl::class_tdecl): Take an environment.
341 * src/abg-comparison.cc
342 (function_suppression::suppresses_function): Adjust.
343 * src/abg-reader.cc (read_translation_unit)
344 (read_corpus_from_input, build_namespace_decl, build_elf_symbol)
345 (build_function_parameter, build_function_decl, build_type_decl)
346 (build_function_type, build_enum_type_decl, build_enum_type_decl)
347 (build_class_decl, build_function_tdecl, build_class_tdecl)
348 (read_corpus_from_native_xml): Likewise.
349 * src/abg-writer.cc (id_manager::m_cur_id): Make this mutable.
350 (id_manager::m_env): New data member.
351 (id_manager::id_manager): Adjust.
352 (id_manager::get_environment): New method.
353 (id_manager::{get_id, get_id_with_prefix}): Return an
354 interned_string.
355 (type_ptr_map): Make this be a hash map of type_base* ->
356 interned_string, rather a type_base* -> string.
357 (write_context::m_env): New data member.
358 (write_context::m_type_id_map): Make this data member be mutable.
359 (write_context::m_emitted_type_id_map): Make this be a hash map of
360 interned_string -> bool, rather than string -> bool.
361 (write_context::write_context): Take an environment and adjust.
362 (write_context::get_environment): New method.
363 (write_context::get_id_manager): New const overload.
364 (write_context::get_id_for_type): Return an interned_string; adjust.
365 (write_context::{record_type_id_as_emitted,
366 record_type_as_referenced}): Adjust.
367 (write_context::type_id_is_emitted): Take an interned_string.
368 (write_context::{type_is_emitted,
369 record_decl_only_type_as_emitted}): Adjust.
370 (write_translation_unit, write_corpus_to_native_xml, dump):
371 Adjust.
372 * tools/abisym.cc (main): Adjust.
373 * tests/data/test-read-write/test22.xml: Adjust.
374 * tests/data/test-read-write/test23.xml: Adjust.
375 * tests/data/test-read-write/test26.xml: Adjust.
376
3772016-02-24 Dodji Seketeli <dodji@redhat.com>
378
379 Update copyright notice
380 * include/abg-corpus.h: Update copyright notice.
381 * include/abg-dwarf-reader.h: Likewise.
382 * src/abg-comparison.cc: Likewise.
383 * src/abg-corpus.cc: Likewise.
384 * src/abg-ir.cc: Likewise.
385
3862016-02-23 Dodji Seketeli <dodji@redhat.com>
387
388 Fix crash when handling templates with empty patterns
389 * src/abg-ir.cc (function_tdecl::traverse): Do not crash when
390 traversing a template with empty pattern.
391 (class_tdecl::operator==): Do not crash when comparing templates
392 with empty patterns.
393
3942016-02-23 Dodji Seketeli <dodji@redhat.com>
395
396 Add missing inequality operators for ABI artifacts
397 * include/abg-ir.h ({translation_unit, elf_symbol::version,
398 context_rel, decl_base, type_base, type_decl,
399 array_type_def::subrange_type, enum_type_def::enumerator,
400 dm_context_rel, template_parameter}::operator!=): Declare.
401 (operator==): Make the overload form translation_unit_sptr,
402 scope_decl_sptr, class_decl::base_spec_sptr,
403 class_decl::member_function_template_sptr,
404 class_decl::member_class_template_sptr take const references.
405 (operator!=): Declare an an overload for the non-member operator
406 != of translation_unit_sptr, elf_symbol_sptr,
407 type_or_decl_base_sptr, type_base_sptr, scope_decl_sptr,
408 type_decl, qualified_type_def_sptr, pointer_type_def_sptr,
409 reference_type_def_sptr, enum_type_decl_sptr, class_decl_sptr,
410 class_decl::base_spec_sptr,
411 class_decl::member_function_template_sptr,
412 class_decl::member_class_template_sptr.
413 * src/abg-ir.cc ({translation_unit, elf_symbol::version,
414 context_rel, decl_base, type_base, type_decl,
415 array_type_def::subrange_type, enum_type_def::enumerator,
416 dm_context_rel, template_parameter}::operator!=): Define.
417 (operator==): Make the overload for translation_unit_sptr,
418 scope_decl_sptr, class_decl::base_spec_sptr,
419 class_decl::member_function_template_sptr,
420 class_decl::member_class_template_sptr take const references.
421 (operator!=): Define an an overload for the non-member operator !=
422 of translation_unit_sptr, elf_symbol_sptr, type_or_decl_base_sptr,
423 type_base_sptr, scope_decl_sptr, type_decl,
424 qualified_type_def_sptr, pointer_type_def_sptr,
425 reference_type_def_sptr, enum_type_decl_sptr, class_decl_sptr,
426 class_decl::base_spec_sptr,
427 class_decl::member_function_template_sptr,
428 class_decl::member_class_template_sptr.
429
4302016-02-20 Dodji Seketeli <dodji@redhat.com>
431
432 Make the tree pass distcheck again.
433 * tests/data/Makefile.am: Add file
434 test-diff-suppr/test28-add-aliased-function-report-0.txt to source
435 distribution.
436
4372016-02-18 Dodji Seketeli <dodji@redhat.com>
438
439 Bug 19658 - Type canonicalization slow for the 2nd binary loaded
440 * include/abg-corpus.h (corpus::{record_canonical_type,
441 lookup_canonical_type}): Declare new member functions.
442 * src/abg-corpus.cc (corpus::priv::canonical_types_): New data
443 member.
444 (corpus::{record_canonical_type, lookup_canonical_type}): Define
445 new member functions.
446 * src/abg-ir.cc (type_base::get_canonical_type_for): Cache the
447 canonical type inside the corpus of the type being canonicalized.
448 Then later when canonicalizing another type, lookup in the cache
449 inside its corpus to see if there is a type with the same name.
450 * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-0.txt:
451 Adjust.
452
4532016-02-18 Dodji Seketeli <dodji@redhat.com>
454
455 Add --verbose option to abidiff
456 * doc/manuals/abidiff.rst: Add documentation for new --verbose
457 option.
458 * include/abg-dwarf-reader.h (set_do_log): Declare new function.
459 * src/abg-dwarf-reader.cc (read_context::do_log_): New data
460 member.
461 (read_context::read_context): Initialize the new data member.
462 (read_context::do_log): Define accessors.
463 (set_do_log): Define new function;
464 (read_context::canonicalize_types_scheduled)
465 (read_debug_info_into_corpus): Add logs.
466 * tools/abidiff.cc (options::do_log): New data member.
467 (options::options): Initialize it.
468 (display_usage): Add an usage string for --verbose.
469 (parse_command_line): Parse the new --verbose option.
470 (main): Set the dwarf reader's context wrt presence of the
471 --verbose option.
472
4732016-02-18 Dodji Seketeli <dodji@redhat.com>
474
475 Fix indentation
476 * tools/abipkgdiff.cc (parse_command_line): Fix a wrong indentation.
477
4782016-02-17 Dodji Seketeli <dodji@redhat.com>
479
480 Bug 19638 - DWARF reader fails to link clone function to its declaration
481 * include/abg-ir.h (decl_base::set_linkage_name): Make this member
482 function virtual.
483 (class_decl::string_mem_fn_ptr_map_type): Define new member type.
484 (class_decl::find_member_function): Declare new member function.
485 (copy_member_function): Declare new function. Declare it as
486 friend of class_decl.
487 (method_decl::set_linkage_name): Declare an overload for this
488 virtual function.
489 * src/abg-dwarf-reader.cc (build_function_decl): Allow updating of
490 linkage_name even if the linkage_name was already defined.
491 (build_ir_node_from_die): In the case DW_TAG_subprogram, make the
492 lookup of scope of the DIE work even if it has both an abstract
493 origin and a specification (DW_AT_abstract_origin and
494 DW_AT_specification).
495 * src/abg-ir.cc (maybe_adjust_canonical_type): Define new
496 function.
497 (canonicalize): Use it.
498 (function_decl::get_id): Return the linkage name first, if it
499 exist.
500 (class_decl::priv::mem_fns_map_): New data member.
501 (class_decl::find_member_function): Define new member function.
502 (class_decl::method_decl::set_linkage_name): Likewise.
503 (class_decl::add_member_function): Update the new data member
504 class_decl::priv::mem_fns_map_.
505 (copy_member_function): Define new static function.
506 * tests/data/test-abidiff/test-PR18791-report0.txt: Adjust.
507 * tests/data/test-read-dwarf/test10-pr18818-gcc.so.abi: Adjust.
508 * tests/data/test-read-dwarf/test12-pr18844.so.abi: Adjust.
509 * tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust.
510 * tests/data/test-read-dwarf/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Adjust.
511 * tests/data/test-read-dwarf/test19-pr19023-libtcmalloc_and_profiler.so.abi: Adjust.
512 * tests/data/test-read-dwarf/test20-pr19025-libvtkParallelCore-6.1.so.abi: Adjust.
513 * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Adjust.
514 * tests/data/test-read-dwarf/test9-pr18818-clang.so.abi: Adjust.
515
5162016-02-17 Dodji Seketeli <dodji@redhat.com>
517
518 Add function lookup by linkage name to libabigail::corpus
519 * include/abg-corpus.h (corpus::lookup_functions): Declare new
520 member function.
521 * src/abg-corpus.cc (class corpus::exported_decls_builder::priv):
522 Make class corpus be a friend of this type.
523 (corpus::exported_decls_builder::priv::add_fn_to_id_fns_map): Fix
524 a thinko that was preventing the fn_id -> functions map from ever
525 being filled. Fix this function to make it associate each aliases
526 of a given function to the function, in the hash table.
527 (corpus::lookup_functions): Define new member function.
528
5292016-02-17 Dodji Seketeli <dodji@redhat.com>
530
531 Fix style cleanups
532 * include/abg-ir.h (method_type::{method_type, set_class_type,
533 get_type, set_type}): Use type_base_sptr and class_decl_sptr
534 instead of the full non-typedefed name.
535 (method_type):Do some cleanups in the definition of the
536 convenience typedefs.
537 * src/abg-ir.cc (method_type::{method_type, set_class_type,
538 get_type, set_type}): Use type_base_sptr and class_decl_sptr
539 instead of the full non-typedefed name.
540 * src/abg-writer.cc (write_class_decl): Add a comment.
541
5422016-02-13 Dodji Seketeli <dodji@redhat.com>
543
544 Bug 19619 - failing to suppress added aliased function reports for C++
545 * src/abg-comparison.cc
546 (function_suppression::suppresses_function): Make the evaluation
547 of the "name" and "name_regexp" consider the cases of languages in
548 which the function name is the same as the symbol name and the
549 case of languages in which it is not. In the former case, all
550 symbol alias names must be matched. In the latter case, if "name"
551 and "name_regexp" match the function name, the suppression
552 specification is considered to match the report about the function
553 change. Also, use the elf_symbol::is_main_symbol() predicate to
554 test for the symbol being a main symbol, rather than using
555 error-prone pointer equality.
556 * tests/data/test-diff-suppr/test27-add-aliased-function-0.suppr:
557 New test input.
558 * tests/data/test-diff-suppr/test27-add-aliased-function-1.suppr: Likewise.
559 * tests/data/test-diff-suppr/test27-add-aliased-function-2.suppr: Likewise.
560 * tests/data/test-diff-suppr/test27-add-aliased-function-3.suppr: Likewise.
561 * tests/data/test-diff-suppr/test27-add-aliased-function-4.suppr: Likewise.
562 * tests/data/test-diff-suppr/test27-add-aliased-function-report-0.txt: Likewise.
563 * tests/data/test-diff-suppr/test27-add-aliased-function-report-1.txt: Likewise.
564 * tests/data/test-diff-suppr/test27-add-aliased-function-report-2.txt: Likewise.
565 * tests/data/test-diff-suppr/test27-add-aliased-function-report-3.txt: Likewise.
566 * tests/data/test-diff-suppr/test27-add-aliased-function-report-4.txt: Likewise.
567 * tests/data/test-diff-suppr/test27-add-aliased-function-report-5.txt: Likewise.
568 * tests/data/test-diff-suppr/test27-add-aliased-function-v0.cc: Likewise.
569 * tests/data/test-diff-suppr/test27-add-aliased-function-v0.o: Likewise.
570 * tests/data/test-diff-suppr/test27-add-aliased-function-v1.cc: Likewise.
571 * tests/data/test-diff-suppr/test27-add-aliased-function-v1.o: Likewise.
572 * tests/data/test-diff-suppr/test28-add-aliased-function-0.suppr: Likewise.
573 * tests/data/test-diff-suppr/test28-add-aliased-function-1.suppr: Likewise.
574 * tests/data/test-diff-suppr/test28-add-aliased-function-2.suppr: Likewise.
575 * tests/data/test-diff-suppr/test28-add-aliased-function-3.suppr: Likewise.
576 * tests/data/test-diff-suppr/test28-add-aliased-function-4.suppr: Likewise.
577 * tests/data/test-diff-suppr/test28-add-aliased-function-5.suppr: Likewise.
578 * tests/data/test-diff-suppr/test28-add-aliased-function-report-0.txt: Likewise.
579 * tests/data/test-diff-suppr/test28-add-aliased-function-report-1.txt: Likewise.
580 * tests/data/test-diff-suppr/test28-add-aliased-function-report-2.txt: Likewise.
581 * tests/data/test-diff-suppr/test28-add-aliased-function-report-3.txt: Likewise.
582 * tests/data/test-diff-suppr/test28-add-aliased-function-report-4.txt: Likewise.
583 * tests/data/test-diff-suppr/test28-add-aliased-function-report-5.txt: Likewise.
584 * tests/data/test-diff-suppr/test28-add-aliased-function-report-6.txt: Likewise.
585 * tests/data/test-diff-suppr/test28-add-aliased-function-v0.c: Likewise.
586 * tests/data/test-diff-suppr/test28-add-aliased-function-v0.o: Likewise.
587 * tests/data/test-diff-suppr/test28-add-aliased-function-v1.c: Likewise.
588 * tests/data/test-diff-suppr/test28-add-aliased-function-v1.o: Likewise.
589 * tests/data/Makefile.am: Add the new test material above to the
590 source distribution.
591 * tests/test-diff-suppr.cc: Add the new test inputs above to this
592 test harness.
593
5942016-02-12 Dodji Seketeli <dodji@redhat.com>
595
596 Emit more informational messages on unrecognized options
597 * tools/abicompat.cc (options::prog_name): New data member.
598 (display_help, perform_compat_check_in_normal_mode)
599 (perform_compat_check_in_weak_mode, main): Prefix error messages
600 with the name of the program.
601 * tools/abidw.cc (options::wrong_option): New data member.
602 (display_help): Prefix error messages with the name of the
603 program.n
604 (parse_command_line): Record the name of the unrecognized option.
605 (main): Tell the name of the unrecognized option. Prefix error
606 messages with the name of the program.
607 * tools/abilint.cc (optionqs::wrong_option): New data member
608 (display_usage): Prefix error messages with the name of the
609 program.
610 (parse_command_line): Record the name of the unrecognized option.
611 (main): Tell the name of the unrecognized option. Prefix error
612 messages with the name of the program.
613 * tools/abipkgdiff.cc (options::{wrong_option, prog_name}): New
614 data members.
615 (package::erase_extraction_directory, display_usage, extract_rpm)
616 (extract_deb, extract_tar)
617 (erase_created_temporary_directories_parent, extract_package)
618 (compare, create_maps_of_package_content): Prefix error messages
619 with the name of the program.
620 (maybe_check_suppression_files): Adjust.
621 (parse_command_line): Record the name of the unrecognized option,
622 and the name of option which lacks an operand.
623 (main): Give the name of the unrecognized option. Prefix error
624 messages with the name of the program.
625
6262016-02-12 Dodji Seketeli <dodji@redhat.com>
627
628 Prefix abidiff error message with the 'abidiff' program name
629 * include/abg-tools-utils.h (emit_prefix): Declare new function.
630 (check_file): Add a new parameter with a default value, so that
631 existing code keeps compiling.
632 * src/abg-tools-utils.cc (emit_prefix): Define new function.
633 (check_file): Use the emit_prefix function and give it the program
634 name passed as a new parameter.
635 * tools/abidiff.cc (display_usage, main): Use the new emit_prefix
636 to prefix error messages.
637
6382016-02-11 Dodji Seketeli <dodji@redhat.com>
639
640 Bug 19606 - Need better error message for invalid options
641 * tools/abidiff.cc (options::wrong_option): New data member.
642 (parse_command_line): Record the name of the unknown option and of
643 the option which value is missing.
644
6452016-02-11 Dodji Seketeli <dodji@redhat.com>
646
647 Add a comment about libabigail needing elfutils 0.159 at least.
648 * configure.ac: Add a comment saying that we require at least
649 elfutils 0.159.
650
6512016-02-11 Dodji Seketeli <dodji@redhat.com>
652
653 Talk about mandatory properties in suppress_* directives
654 * doc/manuals/libabigail-concepts.rst: Talk about the mandatory
655 properties for suppress_type, suppress_function and
656 suppress_variable directives.
657
6582016-02-11 Dodji Seketeli <dodji@redhat.com>
659
660 Make abipkgdiff check for the presence of suppression spec files
661 * tools/abipkgdiff.cc (maybe_check_suppression_files): Define new
662 static function.
663 (main): Use it.
664
6652016-02-11 Dodji Seketeli <dodji@redhat.com>
666
667 Make abipkgdiff return correct exit code on usage error
668 * tools/abipkgdiff.cc (main): Return the correct error code on
669 usage error.
670
6712016-02-11 Dodji Seketeli <dodji@redhat.com>
672
673 Bug 19604 - abidiff --suppressions doesn't complain about invalid file name
674 * tools/abidiff.cc (maybe_check_suppression_files): Define new
675 static function.
676 (main): Use it.
677
6782016-02-10 Dodji Seketeli <dodji@redhat.com>
679
680 Use proper WIFEXITED and WEXITSTATUS macros to get exit code
681 * tests/test-diff-dwarf-abixml.cc (main): Use WIFEXITED and
682 WEXITSTATUS macros to get the return code of the abidiff program.
683 * tests/test-diff-filter.cc (test_task::perform): Likewise.
684 * tests/test-diff-pkg.cc (main): Likewise.
685 * tests/test-diff-suppr.cc (main): Likewise.
686
6872016-02-10 Dodji Seketeli <dodji@redhat.com>
688
689 Bug 19596 - Incorrect exit status for incompatible ABI change
690 * include/abg-comparison.h (enum diff_category): Adjust the
691 comment for enumerator VIRTUAL_MEMBER_CHANGE_CATEGORY; changes of
692 this category are incompatible ABI changes.
693 (corpus_diff::diff_stats::num_func_with_virtual_offset_changes):
694 Declare new accessors.
695 * src/abg-comparison.cc
696 (corpus_diff::diff_stats::priv::num_func_with_virt_offset_changes):
697 New data member.
698 (corpus_diff::diff_stats::priv::priv): Initialize the new data
699 member.
700 (corpus_diff::diff_stats::num_func_with_virtual_offset_changes):
701 Define new accessors.
702 (corpus_diff::priv::apply_filters_and_compute_diff_stats): Use the
703 new accessor to set the number of functions with virtual offset
704 changes onto the stats data structure.
705 (corpus_diff::has_incompatible_changes): Take functions with
706 virtual offset changes into account.
707 * tests/test-abidiff-exit.cc: New test harness to test for exit
708 codes of abidiff.
709 * tests/Makefile.am: Build the new test harness runtestabidiff
710 from the test-abidiff-exit.cc source file.
711 * tests/data/test-abidiff-exit/test1-voffset-change-report0.txt:
712 New reference test output.
713 * tests/data/test-abidiff-exit/test1-voffset-change-v0.cc: New
714 test input source code.
715 * tests/data/test-abidiff-exit/test1-voffset-change-v0.o: New test input.
716 * tests/data/test-abidiff-exit/test1-voffset-change-v1.cc: New
717 test input source code.
718 * tests/data/test-abidiff-exit/test1-voffset-change-v1.o: New test input.
719 * tests/data/Makefile.am: tests/data/Makefile.am: Add the new test
720 inputs above to the source distribution.
721
7222016-02-04 Dodji Seketeli <dodji@redhat.com>
723
724 Fix synthesizing of reference type
725 * src/abg-ir.cc (synthesize_type_from_translation_unit): Support
726 synthesizing reference types.
727 * tests/data/test-abicompat/libtest9-fn-changed-v0.so: Add new
728 test input.
729 * tests/data/test-abicompat/libtest9-fn-changed-v1.so: Likewise.
730 * tests/data/test-abicompat/test9-fn-changed-app: Likewise.
731 * tests/data/test-abicompat/test9-fn-changed-app.cc: : Likewise.
732 * tests/data/test-abicompat/test9-fn-changed-report-0.txt: Likewise.
733 * tests/data/test-abicompat/test9-fn-changed-v0.cc: Likewise.
734 * tests/data/test-abicompat/test9-fn-changed-v0.h: Likewise.
735 * tests/data/test-abicompat/test9-fn-changed-v1.cc: Likewise.
736 * tests/data/test-abicompat/test9-fn-changed-v1.h: Likewise.
737 * tests/data/Makefile.am: Add the new material to source
738 distribution.
739 * tests/test-abicompat.cc (in_out_specs): Add the new test inputs
740 to the test harness.
741
7422016-02-03 Dodji Seketeli <dodji@redhat.com>
743
744 Fix synthesizing of pointer type
745 * include/abg-ir.h: Update copyright.
746 * src/abg-ir.cc (synthesize_type_from_translation_unit): Support
747 synthesizing pointer types.
748 * tests/data/test-abicompat/libtest8-fn-changed-libapp-v0.so: New
749 test input.
750 * tests/data/test-abicompat/libtest8-fn-changed-libapp-v1.so: Likewise.
751 * tests/data/test-abicompat/test8-fn-changed-app: Likewise.
752 * tests/data/test-abicompat/test8-fn-changed-app.c: Likewise.
753 * tests/data/test-abicompat/test8-fn-changed-libapp-v0.c: Likewise.
754 * tests/data/test-abicompat/test8-fn-changed-libapp-v0.h: Likewise.
755 * tests/data/test-abicompat/test8-fn-changed-libapp-v1.c: Likewise.
756 * tests/data/test-abicompat/test8-fn-changed-libapp-v1.h: Likewise.
757 * tests/data/test-abicompat/test8-fn-changed-report-0.txt: Likewise.
758 * tests/data/Makefile.am: Add the new test input files to source
759 distribution.
760 * tests/test-abicompat.cc (in_out_specs): Add the new test inputs
761 above to the test harness.
762
7632016-01-26 Mark Wielaard <mjw@redhat.com>
764
765 Remove defined but not used functions pointed out by GCC6.
766 * src/abg-ir.cc (convert_node_to_decl(decl_base_sptr)): Remove
767 definition.
768 (get_node_name(decl_base_sptr)): Likewise.
769
7702016-01-26 Mark Wielaard <mjw@redhat.com>
771
772 Make make more silent.
773 * Makefile.am (AM_MAKEFLAGS): Set --no-print-directory.
774
7752016-01-26 Mark Wielaard <mjw@redhat.com>
776
777 Fix GCC6 -Wmisleading-indentation warnings.
778 * src/abg-dwarf-reader.cc (find_import_unit_point_before_die):
779 Properly indent code after if clause.
780 * src/abg-ini.cc (write_property_value): Properly indent return
781 statement after else clause.
782
7832016-01-27 Dodji Seketeli <dodji@redhat.com>
784
785 Fix abicompat's handling of library types not used by the application
786 * tools/abicompat.cc (perform_compat_check_in_weak_mode): If the
787 application doesn't use a given type defined and exported by the
788 library, then skip it.
789
7902016-01-27 Dodji Seketeli <dodji@redhat.com>
791
792 Do not crash when looking up a type from global scope
793 * src/abg-ir.cc (lookup_type_in_scope): Gently Handle empty access
794 path.
795
7962016-01-25 Dodji Seketeli <dodji@redhat.com>
797
798 Comparing aliases of the same symbol must be done by pointer
799 * src/abg-ir.cc (elf_symbol::operator==): Fix thinko and
800 indentation. What was I thinking ...
801 (elf_symbol::add_alias)
802 (compute_aliases_for_elf_symbol): Do not compare aliases using the
803 equality operator, because it considers all aliases of a given
804 symbol as equal. Rather, use elf_symbol::is_main_symbol() to test
805 if an alias is the main symbol alias.
806 * src/abg-comp-filter.cc (function_name_changed_but_not_symbol):
807 Likewise.
808 * src/abg-corpus.cc
809 (corpus::priv::build_unreferenced_symbols_tables): Likewise.
810 * src/abg-writer.cc (write_elf_symbol_aliases): Likewise.
811
8122016-01-21 Dodji Seketeli <dodji@redhat.com>
813
814 Bug 19204 - libabigail aborts on DWARF referencing non-existing DIE
815 * src/abg-dwarf-reader.cc (get_parent_die): If we couldn't find
816 the parent of a given DIE, return false, do not abort. Also,
817 assert that if we don't find the parent of a DIE in the main debug
818 info, we don't find it in the alternate debug info either (and
819 vice versa). This is because I'd like to abort on cases where we
820 look for a DIE in the wrong debug info; those cases are likely to
821 be hint that the DWARF reader is doing something wrong which ought
822 to be investigated and fixed.
823 (get_scope_for_die): If we couldn't get the parent of the DIE,
824 then return a nil scope.
825 * tests/data/test-types-stability/pr19204-libtcmalloc.so.4.2.6-xlc:
826 New test binary input.
827 * tests/data/Makefile.am: Add the new binary test input to the
828 source distribution.
829 * tests/test-types-stability.cc (elf_paths): Account for the new
830 binary input.
831
8322016-01-20 Dodji Seketeli <dodji@redhat.com>
833
834 Pass parm of elf_symbol::add_alias by reference
835 * include/abg-ir.h (elf_symbol::add_alias): Pass parameter by
836 reference.
837 * src/abg-ir.cc (elf_symbol::add_alias): Likewise.
838
8392016-01-20 Dodji Seketeli <dodji@redhat.com>
840
841 Bug 19141 - Libabigail doesn't support common ELF symbols
842 * include/abg-ir.h (elf_symbol::elf_symbol): Take a new flag to
843 say if the symbol is common.
844 (elf_symbol::{is_common_symbol, has_other_common_instances,
845 get_next_common_instance, add_common_instance}): New member functions.
846 * src/abg-ir.cc (elf_symbol::priv::{is_common_,
847 next_common_instance_): New data members.
848 (elf_symbol::priv::priv): Adjust.
849 (elf_symbol::{elf_symbol, create}): Take a new flag to say if the
850 symbol is common.
851 (textually_equals): Adjust to account for symbol common-ness.
852 (elf_symbol::{is_common_symbol, has_other_common_instances,
853 get_next_common_instance, add_common_instance}): Define new member
854 functions.
855 (elf_symbol::add_alias): Drive-by fix; compare symbols using
856 pointer value. Value comparison is not necessary.
857 * src/abg-dwarf-reader.cc (lookup_symbol_from_sysv_hash_tab)
858 (lookup_symbol_from_gnu_hash_tab, lookup_symbol_from_symtab)
859 (read_context::lookup_elf_symbol_from_index): Adjust the creation
860 of the symbol to account for common-ness.
861 (read_context::load_symbol_maps): Recognize instances of a given
862 common symbol and represent them as such. Do not mistake this
863 with symbol aliases.
864 * src/abg-reader.cc (build_elf_symbol): Adjust the creation of the
865 symbol to account for common-ness.
866 * src/abg-writer.cc (write_elf_symbol): Adjust symbol
867 serialization to account common-ness.
868 * tests/data/test-types-stability/pr19141-get5d.o: Add new test
869 binary input.
870 * tests/data/test-types-stability/pr19142-topo.o: Likewise.
871 * tests/data/Makefile.am: Add the new test inputs to source distribution.
872 * tests/test-types-stability.cc (elf_paths): The the new test
873 inputs into account.
874
8752016-01-13 Dodji Seketeli <dodji@redhat.com>
876
877 Bug 19434 - invalid character in attribute value
878 * include/abg-tools-utils.h (string_is_ascii_identifier): Declare
879 new function.
880 * src/abg-tools-utils.cc (string_is_ascii_identifier): Define new function.
881 * src/abg-dwarf-reader.cc (build_function_type): Discard parameter
882 name if it's made of non-identifier ascii characters.
883 * tests/data/test-types-stability/pr19434-elf0: New test binary input file.
884 * tests/data/Makefile.am: Add the new test input to source distribution.
885 * tests/test-types-stability.cc: Test the new test input into account.
886
8872016-01-18 Dodji Seketeli <dodji@redhat.com>
888
889 Sort the tests run in tests/ by running the slowest ones first
890 * tests/Makefile.am: Sort the tests by running the slowest ones
891 first.
892
8932016-01-15 Dodji Seketeli <dodji@redhat.com>
894
895 Use worker threads pattern to speed up some tests
896 * include/Makefile.am: Add the new abg-workers.h to source
897 distribution.
898 * include/abg-workers.h: New file.
899 * src/Makefile.am: Add the new abg-worker.cc to source
900 distribution.
901 * src/abg-workers.cc: New file.
902 * tests/test-utils.cc: Update copyright. Make get_src_dir() and
903 get_build_dir() return a const char*, as opposed to returning a
904 string. Make that const char reside in thread local storage, so
905 that two concurrent threads can safely call these functions in
906 parallel, without any race.
907 * tests/test-utils.h: Make get_src_dir() and get_build_dir()
908 return a const char*, as opposed to returning a string.
909 * tests/test-abicompat.cc: Update copyright. Adjust for
910 get_src_dir() and get_build_dir() change.
911 * tests/test-abidiff.cc: Likewise.
912 * tests/test-alt-dwarf-file.cc: Likewise.
913 * tests/test-core-diff.cc: Likewise.
914 * tests/test-diff-dwarf-abixml.cc: Likewise.
915 * tests/test-diff-dwarf.cc: Likewise.
916 * tests/test-diff-pkg.cc: Likewise.
917 * tests/test-diff-suppr.cc: Likewise.
918 * tests/test-lookup-syms.cc: Likewise.
919 * tests/test-read-dwarf.cc: Likewise.
920 * tests/test-read-write.cc: Likewise.
921 * tests/test-types-stability.cc: Likewise. Use the new task queue
922 type to run these tests in parallel.
923 * tests/test-diff-filter.cc: Likewise.
924
9252016-01-18 Ondrej Oprala <ooprala@redhat.com>
926
927 Escape the value of the filepath attribute.
928 * src/abg-writer.cc (write_location): Sanitize the filepath with
929 xml::escape_xml_string().
930 (write_translation_unit): Likewise.
931 (write_corpus_to_native_xml): Likewise.
932 * tests/data/test-types-stability/pr19433-custom0: Add a new test file.
933 * tests/test-types-stability.cc: Add the test file to the test harness.
934 * tests/data/Makefile.am: Add the new test file to the list.
935
9362016-01-09 Dodji Seketeli <dodji@redhat.com>
937
938 Make enum values take 64 bits on all platforms
939 * include/abg-ir.h: Include stdint.h for int64_t.
940 (enumerator::enumerator): Take an int64_t value for the value of
941 the enumerator.
942 (enumerator::{s,g}et_value): Take/return an int64_t value.
943 * src/abg-ir.cc (enum_type_decl::enumerator::priv): Store the
944 value in an int64_t.
945 (enumerator::priv::priv): Take a int64_t for the value.
946 (enum_type_decl::enumerator::enumerator): Likewise.
947 (enum_type_decl::enumerator::{s,g}et_value): Take/returnan int64_t
948 value.
949 * src/abg-dwarf-reader.cc (die_unsigned_constant_attribute): Take
950 an uint64_t value.
951 (die_signed_constant_attribute): Take an int64_t value.
952 (die_location, die_size_in_bits, die_access_specifier)
953 (die_virtuality, die_is_virtual, die_is_declared_inline)
954 (build_translation_unit_and_add_to_ir, build_type_decl)
955 (build_enum_type, build_pointer_type_def, build_array_type):
956 Adjust.
957 * src/abg-reader.cc (build_enum_type_decl): Adjust.
958 * src/abg-writer.cc (write_enum_type_decl): Do not cast the result
959 of enumerator::get_value() anymore, it's value is now a int64_t.
960
9612016-01-08 Dodji Seketeli <dodji@redhat.com>
962
963 Include missing <algorithm> to abg-dwarf-reader.cc
964 * src/abg-dwarf-reader.cc: Add missing <algorithm> include file.
965
9662016-01-08 Dodji Seketeli <dodji@redhat.com>
967
968 Bug 19138 - Failure to relate variables address from DWARF and ELF
969 * include/abg-dwarf-reader.h (elf_type::ELF_TYPE_RELOCATABLE): New
970 enumerator.
971 * src/abg-dwarf-reader.cc (find_section): Factorize this from ...
972 (find_text_section, find_bss_section): ... these.
973 (find_rodata_section, find_data_section, find_data1_section):
974 Define new static functions.
975 (elf_file_type): Move this static function definition up.
976 (read_context::{get_elf_file_type, address_is_in_section,
977 get_data_section_for_variable_address}): New member functions.
978 (read_context::maybe_adjust_fn_sym_address): Adjust comment.
979 Adjust to use the new
980 read_context::get_data_section_for_variable_address().
981 * tests/data/test-types-stability/pr19138-elf0: New test input
982 binary.
983 * tests/data/Makefile.am: Add the new test input binary to the
984 test suite.
985 * tests/test-types-stability.cc (elf_paths): Take it into account.
986
9872016-01-08 Dodji Seketeli <dodji@redhat.com>
988
989 Bump version revision to 1.0.rc3
990 * configure.ac: Change version_revision to rc3
991
9922016-01-08 Dodji Seketeli <dodji@redhat.com>
993
994 Add a release announcement text pattern
995 * release-text-template.txt: New file.
996
9972016-01-08 Dodji Seketeli <dodji@redhat.com>
998
999 Upate build instructions on the website
1000 * doc/website/mainpage.txt: Add instruction about how to build
1001 tarballs.
1002
10032016-01-07 Dodji Seketeli <dodji@redhat.com>
1004
1005 Update website link for 1.0.rc2
1006 * doc/website/mainpage.txt: Update tarball link for 1.0.rc2
1007
12016-01-07 Dodji Seketeli <dodji@redhat.com> 10082016-01-07 Dodji Seketeli <dodji@redhat.com>
2 1009
3 Update ChangeLog before 1.0.rc2 1010 Update ChangeLog before 1.0.rc2