summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@redhat.com>2018-07-13 16:06:58 +0200
committerDodji Seketeli <dodji@redhat.com>2018-07-13 16:38:47 +0200
commitdb14d71c0329e22b1b7b7459ab232a4c3e977f9e (patch)
tree7a2d552af14b8043b6dfa59d1324aa0b8e6f5ec5 /ChangeLog
parentUpdate NEWS file for 1.4 release (diff)
downloadlibabigail-db14d71c0329e22b1b7b7459ab232a4c3e977f9e.tar.gz
libabigail-db14d71c0329e22b1b7b7459ab232a4c3e977f9e.tar.bz2
libabigail-db14d71c0329e22b1b7b7459ab232a4c3e977f9e.tar.xz
Update ChangeLog for 1.4 releaselibabigail-1.4
* ChangeLog: Update this using make update-changelog Signed-off-by: Dodji Seketeli <dodji@redhat.com>
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog347
1 files changed, 347 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 15750c3b..6e4ca2ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,350 @@
12018-07-13 Dodji Seketeli <dodji@redhat.com>
2
3 Update NEWS file for 1.4 release
4 * NEWS: Added 1.4 entries
5
62018-07-13 Dodji Seketeli <dodji@redhat.com>
7
8 Properly add test materials for test-diff-suppr/test38-char-class-in-ini*
9 * tests/data/Makefile.am: Add proper path for
10 test-diff-suppr/test38-char-class-in-ini*.
11
122018-07-12 Dodji Seketeli <dodji@redhat.com>
13
14 Allow square brackets in ini property values
15 * src/abg-ini.cc (char_is_delimiter): Possibly disallow square
16 bracket characters into the set of delimiters.
17 * tests/data/test-diff-suppr/test38-char-class-in-ini-report-0.txt:
18 New reference output.
19 * tests/data/test-diff-suppr/test38-char-class-in-ini-v{0,1}.c:
20 Source code new test binaries.
21 * tests/data/test-diff-suppr/test38-char-class-in-ini-v{0,1}.o:
22 New test binaries.
23 * tests/data/test-diff-suppr/test38-char-class-in-ini.abignore:
24 New test abi suppression file.
25 * tests/data/Makefile.am: Add the new test materials above to
26 source distribution.
27 * tests/test-diff-suppr.cc: Add the test materials above to the
28 set of tests to run.
29
302018-07-10 Dodji Seketeli <dodji@redhat.com>
31
32 Fix race between runtestdefaultsupprs{py3.sh,.py}
33 * tests/Makefile.am: Run runtestdefaultsupprspy3.sh if we are in
34 python3 mode otherwise run runtestdefaultsupprs.py.
35
362018-06-29 Dodji Seketeli <dodji@redhat.com>
37
38 Ensure die_function_type_is_method_type returns a class type die
39 * src/abg-dwarf-reader.cc (die_peel_typedef): Define new static
40 function.
41 (die_function_type_is_method_type): Use the function above to peel
42 the class die from potential typedefs wrapping it.
43
442018-06-28 Dodji Seketeli <dodji@redhat.com>
45
46 Misc style adjustements
47 * include/abg-suppression.h
48 (function_suppression::ADDED_FUNCTION_CHANGE_KIND): Fix the
49 comment of this enumerator.
50 (suppresses_variable): Cleanup parameter name.
51 * src/abg-comparison.cc: Remove useless horizontal space.
52 * src/abg-suppression.cc
53 (variable_suppression::suppresses_variable): Fix typo.
54
552018-06-28 Dodji Seketeli <dodji@redhat.com>
56
57 Initial basic support of union type in suppression specifications
58 * src/abg-suppression.cc (suppression_matches_type_no_name):
59 Support union types.
60
612018-06-28 Dodji Seketeli <dodji@redhat.com>
62
63 Filter out changes like type to const type
64 * include/abg-comparison.h (FN_PARM_TYPE_CV_CHANGE_CATEGORY): Add
65 this new enumerator to the diff_category enum. Also, OR this to
66 the value of the EVERYTHING_CATEGORY enumerator.
67 * src/abg-comp-filter.cc (has_fn_parm_type_top_cv_qual_change):
68 Rename has_fn_parm_type_cv_qual_change into this.
69 (has_fn_parm_type_cv_qual_change): New function.
70 (categorize_harmless_diff_node): Categorize cv qual changes as
71 being of category FN_PARM_TYPE_CV_CHANGE_CATEGORY.
72 * src/abg-comparison.cc (get_default_harmless_categories_bitmap):
73 Add FN_PARM_TYPE_CV_CHANGE_CATEGORY to the default harmless
74 categories.
75 * 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: Adjust.
76
772018-06-28 Dodji Seketeli <dodji@redhat.com>
78
79 Fix redundancy detection through fn ptr and typedef paths
80 * include/abg-comparison.h
81 (is_function_type_diff_with_local_changes)
82 (is_reference_or_pointer_diff_to_non_basic_distinct_types)
83 (peel_typedef_diff): Declare new functions.
84 * src/abg-comparison.cc
85 (is_function_type_diff_with_local_changes)
86 (is_reference_or_ptr_diff_to_non_basic_nor_distinct_types)
87 (peel_typedef_diff): Define new functions.
88 (is_reference_or_pointer_diff): Peel typedefs before operating.
89 (redundancy_marking_visitor::visit_begin): Only sibbling parameter
90 diff node that carry basic type changes (or distinct type changes)
91 are *not* marked as redundant. All other kinds of sibbling
92 parameter diff nodes are markes redundant. Also, rather than
93 never marking function type diffs as redundant by fear of missing
94 local changes on these, just avoid marking function type diff
95 nodes with local changes. It's possible to be that precise now
96 that we can detect that a diff node carries local changes.
97 * tests/data/test-diff-suppr/test37-opaque-type-v{0,1}.o: New
98 binary tests input.
99 * tests/data/test-diff-suppr/test37-opaque-type-v{0,1}.c: Source
100 code of the binary tests input above.
101 * tests/data/test-diff-suppr/test37-opaque-type-header-dir/test37-opaque-type-header-v{0,1}.h:
102 Headers of the binary tests input above.
103 * tests/data/test-diff-suppr/test37-opaque-type-report-0.txt:
104 Reference output for this new test.
105 * tests/data/Makefile.am: Add the new test material above to
106 source distribution.
107 * tests/test-diff-suppr.cc (in_out_specs): Add the new test input
108 above to the test harness.
109
1102018-06-08 Dodji Seketeli <dodji@redhat.com>
111
112 Fix indentation of help string in abipkgdiff
113 * tools/abipkgdiff.cc (display_usage): Fix indentation of help
114 string.
115
1162018-06-08 Dodji Seketeli <dodji@redhat.com>
117
118 Identify a function using its symbol name and version
119 * src/abg-default-reporter.cc (default_reporter::report): In C,
120 tell the user about the underlying function symbol name only if
121 said symbol name is different from the name of the function.
122 * src/abg-ir.cc (function_decl::get_id): If the function has an
123 underlying symbol, use the symbol name and version as the function
124 ID. But if the function symbol has an alias then use the linkage
125 name as the ID.
126 * tests/data/test-diff-pkg/elfutils-debuginfo-0.170-4.el7.x86_64.rpm:
127 New binary test input.
128 * tests/data/test-diff-pkg/elfutils-debuginfo-0.171-1.el7.x86_64.rpm: Likewise.
129 * tests/data/test-diff-pkg/elfutils-devel-0.170-4.el7.x86_64.rpm: Likewise.
130 * tests/data/test-diff-pkg/elfutils-devel-0.171-1.el7.x86_64.rpm: Likewise.
131 * tests/data/test-diff-pkg/elfutils-libs-0.170-4.el7.x86_64.rpm: Likewise.
132 * tests/data/test-diff-pkg/elfutils-libs-0.171-1.el7.x86_64.rpm: Likewise.
133 * tests/data/test-diff-pkg/elfutils-libs-0.170-4.el7.x86_64-multiple-sym-vers-report-0.txt:
134 New reference test output.
135 * tests/data/Makefile.am: Add the new test material above to
136 source distribution.
137 * tests/test-diff-pkg.cc (in_out_specs): Integrate the new test
138 inputs above into the harness.
139
1402018-06-06 Dodji Seketeli <dodji@redhat.com>
141
142 Bump version to 1.4
143 * configure.ac: Bump version to 1.4
144
1452018-06-06 Dodji Seketeli <dodji@redhat.com>
146
147 Explicitely detect anonymous data member changes
148 * include/abg-comp-filter.h (has_anonymous_data_member_change):
149 Add new function declaration.
150 * include/abg-fwd.h (is_data_member, is_anonymous_data_member):
151 declare new overloads.
152 * src/abg-comp-filter.cc (has_anonymous_data_member_change):
153 Define new overloads.
154 * src/abg-ir.cc (is_data_member, is_anonymous_data_member): Define
155 new overloads.
156 * src/abg-reporter-priv.cc (represent): In the var_diff overload,
157 detect when we have anonymous data member changes and emit
158 explicit error messages then.
159 * tests/data/test-diff-dwarf/test45-anon-dm-change-report-0.txt:
160 New test material.
161 * tests/data/test-diff-dwarf/test45-anon-dm-change-v0.cc: Likewise.
162 * tests/data/test-diff-dwarf/test45-anon-dm-change-v0.o: Likewise.
163 * tests/data/test-diff-dwarf/test45-anon-dm-change-v1.cc: Likewise.
164 * tests/data/test-diff-dwarf/test45-anon-dm-change-v1.o: Likewise.
165 * tests/data/Makefile.am: Add the new test material above to source
166 distribution.
167 * tests/test-diff-dwarf.cc (in_out_specs): Add the new test
168 material above to the test harness.
169 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt: Adjust.
170 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt: Likewise.
171 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt: Likewise.
172 * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt: Likewise.
173
1742018-06-05 Dodji Seketeli <dodji@redhat.com>
175
176 Add test44-anon-struct-union-v{0,1}.o to source distribution
177 * tests/data/Makefile.am: Add
178 test-diff-dwarf/test44-anon-struct-union-v{0,1}.o files to source
179 distribution.
180
1812018-06-04 Dodji Seketeli <dodji@redhat.com>
182
183 Use the flat representation for anonymous struct/unions
184 * src/abg-ir.cc (get_class_or_union_flat_representation): Take a
185 const class_or_union* (like what the declaration in the header
186 file says), rather than just a class_or_union*.
187 ({class,union}_decl::get_pretty_representation): For anonymous
188 classes and unions, use the flat representation.
189 * tests/data/test-annotate/libtest23.so.abi: Adjust.
190 * tests/data/test-annotate/libtest24-drop-fns-2.so.abi: Likewise.
191 * tests/data/test-annotate/libtest24-drop-fns.so.abi: Likewise.
192 * tests/data/test-annotate/test13-pr18894.so.abi: Likewise.
193 * tests/data/test-annotate/test14-pr18893.so.abi: Likewise.
194 * tests/data/test-annotate/test15-pr18892.so.abi: Likewise.
195 * tests/data/test-annotate/test17-pr19027.so.abi: Likewise.
196 * tests/data/test-annotate/test18-pr19037-libvtkRenderingLIC-6.1.so.abi: Likewise.
197 * tests/data/test-annotate/test19-pr19023-libtcmalloc_and_profiler.so.abi: Likewise.
198 * tests/data/test-annotate/test20-pr19025-libvtkParallelCore-6.1.so.abi: Likewise.
199 * tests/data/test-annotate/test21-pr19092.so.abi: Likewise.
200 * tests/data/test-diff-dwarf/test43-PR22913-report-0.txt: Likewise.
201 * tests/data/test-diff-dwarf/test44-anon-struct-union-report-0.txt:
202 New test reference output.
203 * tests/data/test-diff-dwarf/test44-anon-struct-union-v{0,1}.cc:
204 Source code of new test binary outputs.
205 * tests/data/test-diff-dwarf/test44-anon-struct-union-v{0,1}.o:
206 New test binary outputs.
207 * tests/data/Makefile.am: Add the new test materials above to
208 source districution.
209 * tests/test-diff-dwarf.cc (in_out_specs): Add the new test
210 material above to the test harness here.
211 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt: Adjust.
212 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt: Likewise.
213 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt: Likewise.
214 * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt: Likewise.
215 * tests/data/test-diff-pkg/libcdio-0.94-1.fc26.x86_64--libcdio-0.94-2.fc26.x86_64-report.1.txt: Likewise.
216 * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-2.txt: Likewise.
217 * tests/data/test-read-dwarf/test22-pr19097-libstdc++.so.6.0.17.so.abi: Likewise.
218
2192018-06-01 Dodji Seketeli <dodji@redhat.com>
220
221 Better detect when pointer and qualified types carry local changes
222 * src/abg-comparison.cc
223 (leaf_diff_node_marker_visitor::visit_begin): Do not mark
224 qualified types as leaf diff nodes.
225 (redundancy_marking_visitor::visit_end): Changes to qualified type
226 are never considered local. This is just as for pointer and
227 reference types.
228 * src/abg-default-reporter.cc
229 (default_reporter::report_local_reference_type_changes): Display
230 structural changes of the pointed-to type.
231 (default_reporter::report): In the overload for reference_diff,
232 better detect and handle when we have local changes, or not.
233 * src/abg-ir.cc (equals): In the overload for qualified_type_def
234 and reference_type_de, report local type changes of the underlying
235 type as local changes. Add comments in the overload for pointer
236 type, and make it look like the the overload for reference_type.
237 * src/abg-leaf-reporter.cc (leaf_reporter::report): In the
238 overload for pointer_diff, remove end of line.
239 * tests/data/test-diff-filter/libtest45-basic-type-change-report-1.txt: Adjust.
240 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report0.txt: Likewise.
241 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report1.txt: Likewise.
242 * tests/data/test-diff-filter/test30-pr18904-rvalueref-report2.txt: Likewise.
243 * tests/data/test-diff-filter/test35-pr18754-no-added-syms-report-0.txt: Likewise.
244
2452018-05-23 Dodji Seketeli <dodji@redhat.com>
246
247 Better detect when diff nodes only carry local type changes
248 * include/abg-comparison.h ({diff, type_diff_base, decl_diff_base,
249 distinct_diff, var_diff, pointer_diff, reference_diff, array_diff,
250 qualified_type, enum_diff, class_or_union_diff, class_diff,
251 base_diff, scope_diff, fn_parm_diff, function_type_diff,
252 function_decl_diff, typedef_diff,
253 translation_unit_diff}::has_local_changes): Return an enum
254 change_kind, rather than just a bool.
255 (is_diff_of_basic_type): Declare an overload that takes a boolean
256 flag.
257 (is_qualified_type_diff, peel_pointer_diff, peel_reference_diff)
258 (peel_qualified_type, peel_pointer_or_qualified_type): Declare new
259 functions
260 * include/abg-fwd.h (peel_qualified_type):
261 * include/abg-ir.h (enum change_kind::{LOCAL_TYPE_CHANGE_KIND,
262 LOCAL_NON_TYPE_CHANGE_KIND, ALL_LOCAL_CHANGES_MASK}): Add these
263 three new enumerators.
264 * src/abg-comparison.cc ({distinct_diff, var_diff, pointer_diff,
265 array_diff, reference_diff, qualified_type_diff, enum_diff,
266 class_or_union_diff, class_diff, base_diff, scope_diff,
267 fn_parm_diff, function_type_diff, function_decl_diff,
268 type_decl_diff, typedef_diff,
269 translation_unit_diff}::has_local_changes): Adjust to return an
270 enum change_kind, rather than just a bool.
271 (has_local_type_change_only): Define new functions.
272 (has_basic_type_change_only): Use the new
273 has_local_type_change_only function and the new overload for
274 is_diff_of_basic_type.
275 (is_diff_of_basic_type): Define an overload that takes a boolean
276 flag.
277 (is_qualified_type_diff, peel_pointer_diff, peel_reference_diff)
278 (peel_qualified_type, peel_pointer_or_qualified_type): Define new
279 functions.
280 * src/abg-ir.cc (equals): In the overloads for decl_base,
281 scope_decl, type_base, qualified_type_diff, pointer_type_def,
282 reference_type_def, array_type_def, enum_type_decl, typedef_decl,
283 var_decl, function_type, function_decl, function_decl::parameter,
284 class_or_union, class_decl::base_spec and class_decl, properly set
285 the new abigail::ir::{LOCAL_CHANGE_KIND,
286 LOCAL_NON_TYPE_CHANGE_KIND, LOCAL_TYPE_CHANGE_KIND} bits.
287 (types_have_similar_structure): Peel qualified types and typedefs
288 off, first thing.
289 (peel_qualified_or_typedef_type): Define new function.
290 * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt:
291 Adjust.
292 * tests/data/test-diff-filter/libtest45-basic-type-change-report-{0,1}.txt:
293 New reference test reports.
294 * tests/data/test-diff-filter/libtest45-basic-type-change-v{0,1}.so:
295 New input test binaries.
296 * tests/data/test-diff-filter/test45-basic-type-change-v{0,1}.cc:
297 Source code of the input test binaries above.
298 * tests/data/Makefile.am: Add the new test file above to source
299 distribution.
300 * tests/test-diff-filter.cc: Add the test input above to the test
301 harness.
302
3032018-05-18 Dodji Seketeli <dodji@redhat.com>
304
305 Improve detection of local *type* changes
306 * include/abg-fwd.h (is_type_decl): Declare new overload for
307 type_base*.
308 (types_have_similar_structure): Declare new function.
309 * src/abg-comparison.cc
310 (class_or_union_diff::priv::count_filtered_changed_dm): Even when
311 looking at local changes only, do not forget to count nodes that
312 were filtered out.
313 * src/abg-ir.cc (types_have_similar_structure): Define new
314 function.
315 (is_type_decl): Define new overload for
316 type_base*.
317 (is_enum_type):
318 (equals): In the overload for var_decl, use the new
319 types_have_similar_structure function to detect local (type)
320 changes.
321 * src/abg-reporter-priv.cc (represent): In the overload for
322 var_decl, use the diff::has_local_changes function to detect local
323 changes, now that we can better detect local changes.
324 * tests/data/test-diff-filter/test44-anonymous-data-member-report-1.txt:
325 Adjust.
326 * tests/data/test-diff-suppr/test36-leaf-report-0.txt: Likewise.
327
3282018-05-16 Dodji Seketeli <dodji@redhat.com>
329
330 Remove references, arrays and fn parms from leaf diff nodes
331 * src/abg-comparison.cc
332 (leaf_diff_node_marker_visitor::visit_begin): Do not mark
333 references, array and fn parms diff nodes as leaf nodes.
334 * tests/data/test-diff-pkg/spice-server-0.12.4-19.el7.x86_64-0.12.8-1.el7.x86_64-report-3.txt:
335 Adjust.
336
3372018-05-23 Dodji Seketeli <dodji@redhat.com>
338
339 Fix typo in tests/runtestdefaultsupprs.py
340 * tests/runtestdefaultsupprs.py.in: Fix typo.
341
3422018-05-17 Dodji Seketeli <dodji@redhat.com>
343
344 Update ChangeLog
345 * ChangeLog: Update this file automatically by running the "make
346 update-changelog" command.
347
12018-05-17 Dodji Seketeli <dodji@redhat.com> 3482018-05-17 Dodji Seketeli <dodji@redhat.com>
2 349
3 Update NEWS file for 1.3 release 350 Update NEWS file for 1.3 release