public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Support C++ pointer-to-member types
@ 2023-12-01 15:51 Dodji Seketeli
  2023-12-01 15:54 ` [PATCH 1/4, applied] Improve type naming Dodji Seketeli
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Dodji Seketeli @ 2023-12-01 15:51 UTC (permalink / raw)
  To: libabigail

Hello,

This patch is in response to a feature enhancement request filed at
https://sourceware.org/bugzilla/show_bug.cgi?id=30260.

The first patch is a preparatory patch that improves how type names are
pretty-printed, especially derived types like pointers and arrays.

The second patch really is the patch that adds the support for C++
pointer-to-member types.

The last two patches bump the ABIXML format version and libabigail
SONAME due to the changes made to the ABIXML format and to the ABI of
libabigail itself.

Dodji Seketeli (4):
  Improve type naming
  Bug 30260 - Support pointer-to-member type
  Bump abixml version to 2.3
  Bump LIBABIGAIL_SO_CURRENT version to 4

 configure.ac                                  |     4 +-
 include/abg-comparison.h                      |    62 +
 include/abg-fwd.h                             |    55 +-
 include/abg-ir.h                              |    78 +-
 include/abg-reporter.h                        |    18 +
 src/abg-comparison-priv.h                     |    13 +
 src/abg-comparison.cc                         |   161 +
 src/abg-default-reporter.cc                   |    94 +
 src/abg-dwarf-reader.cc                       |    91 +-
 src/abg-ir.cc                                 |  1860 +-
 src/abg-leaf-reporter.cc                      |    15 +
 src/abg-reader.cc                             |    85 +
 src/abg-writer.cc                             |   106 +-
 tests/data/Makefile.am                        |    29 +
 .../test0-fn-changed-report-0.txt             |     4 +-
 .../test0-fn-changed-report-2.txt             |     4 +-
 .../test1-fn-removed-report-0.txt             |     2 +-
 .../test3-fn-removed-report-0.txt             |     2 +-
 .../PR30048-test-2-report-1.txt               |    78 +-
 .../PR30048-test-report-0.txt                 |    14 +-
 .../PR30329/PR30329-report-1.txt              |     4 +-
 .../libsdl/libsdl-1.2.60-1.2.64-report.txt    |    10 +-
 .../test1-ada-subrange-report-1.txt           |     4 +-
 .../test1-ada-subrange-report-2.txt           |     4 +-
 .../test-ptr-to-mbr1-output-1.txt             |    18 +
 .../pointer-to-member/test-ptr-to-mbr1-v0.cc  |     7 +
 .../pointer-to-member/test-ptr-to-mbr1-v0.o   |   Bin 0 -> 2624 bytes
 .../pointer-to-member/test-ptr-to-mbr1-v1.cc  |     6 +
 .../pointer-to-member/test-ptr-to-mbr1-v1.o   |   Bin 0 -> 2656 bytes
 .../test-ptr-to-mbr2-output-1.txt             |    13 +
 .../pointer-to-member/test-ptr-to-mbr2-v0.cc  |     7 +
 .../pointer-to-member/test-ptr-to-mbr2-v0.o   |   Bin 0 -> 2624 bytes
 .../pointer-to-member/test-ptr-to-mbr2-v1.cc  |     6 +
 .../pointer-to-member/test-ptr-to-mbr2-v1.o   |   Bin 0 -> 2624 bytes
 .../test-ptr-to-mbr3-output-1.txt             |    20 +
 .../pointer-to-member/test-ptr-to-mbr3-v0.cc  |     7 +
 .../pointer-to-member/test-ptr-to-mbr3-v0.o   |   Bin 0 -> 2624 bytes
 .../pointer-to-member/test-ptr-to-mbr3-v1.cc  |     6 +
 .../pointer-to-member/test-ptr-to-mbr3-v1.o   |   Bin 0 -> 2664 bytes
 .../test-ptr-to-mbr4-output-1.txt             |    12 +
 .../pointer-to-member/test-ptr-to-mbr4-v0.cc  |     8 +
 .../pointer-to-member/test-ptr-to-mbr4-v0.o   |   Bin 0 -> 2688 bytes
 .../pointer-to-member/test-ptr-to-mbr4-v1.cc  |     7 +
 .../pointer-to-member/test-ptr-to-mbr4-v1.o   |   Bin 0 -> 2696 bytes
 .../test-ptr-to-mbr5-output-1.txt             |     0
 .../pointer-to-member/test-ptr-to-mbr5-v0.cc  |     8 +
 .../pointer-to-member/test-ptr-to-mbr5-v0.o   |   Bin 0 -> 2640 bytes
 .../pointer-to-member/test-ptr-to-mbr5-v1.cc  |     7 +
 .../pointer-to-member/test-ptr-to-mbr5-v1.o   |   Bin 0 -> 2648 bytes
 .../qualifier-typedef-array-report-1.txt      |     8 +-
 .../test-fun-param-report.txt                 |     2 +-
 .../test-ld-2.28-210.so--ld-2.28-211.so.txt   |     8 +-
 .../test-leaf-fun-type-report.txt             |     4 +-
 .../test-leaf-more-report.txt                 |     6 +-
 .../test-leaf-peeling-report.txt              |     4 +-
 .../test-leaf-stats-report.txt                |     2 +-
 .../test-net-change-report0.txt               |     6 +-
 .../test-net-change-report2.txt               |     6 +-
 .../test2-filtered-removed-fns-report0.txt    |     2 +-
 .../test-abidiff/test-PR18791-report0.txt     |     8 +-
 .../data/test-abidiff/test-crc-report-0-1.txt |     2 +-
 .../data/test-abidiff/test-crc-report-1-0.txt |     2 +-
 .../data/test-abidiff/test-crc-report-1-2.txt |     2 +-
 .../PR29443-missing-xx.o.annotated.abi        |     2 +-
 tests/data/test-annotate/libtest23.so.abi     |     2 +-
 .../test-annotate/libtest24-drop-fns-2.so.abi |     2 +-
 .../test-annotate/libtest24-drop-fns.so.abi   |     2 +-
 .../test-anonymous-members-0.o.abi            |     2 +-
 .../test-pointer-to-member-1.o.annotated.abi  |    99 +
 tests/data/test-annotate/test0.abi            |     2 +-
 tests/data/test-annotate/test1.abi            |     2 +-
 .../data/test-annotate/test13-pr18894.so.abi  |   308 +-
 .../data/test-annotate/test14-pr18893.so.abi  |   322 +-
 .../data/test-annotate/test15-pr18892.so.abi  |  2870 +-
 .../data/test-annotate/test17-pr19027.so.abi  |  3102 +-
 ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi |    38 +-
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |  1618 +-
 tests/data/test-annotate/test2.so.abi         |     2 +-
 ...st20-pr19025-libvtkParallelCore-6.1.so.abi |    76 +-
 .../data/test-annotate/test21-pr19092.so.abi  |   276 +-
 tests/data/test-annotate/test3.so.abi         |     2 +-
 tests/data/test-annotate/test4.so.abi         |     2 +-
 tests/data/test-annotate/test5.o.abi          |     2 +-
 tests/data/test-annotate/test6.so.abi         |     2 +-
 tests/data/test-annotate/test7.so.abi         |    26 +-
 .../test8-qualified-this-pointer.so.abi       |     2 +-
 .../PR25058-liblttng-ctl-report-1.txt         |    40 +-
 .../test-23-diff-arch-report-0.txt            |     2 +-
 .../test18-alias-sym-report-0.txt             |     2 +-
 .../test19-soname-report-0.txt                |     2 +-
 .../test24-added-fn-parms-report-0.txt        |     2 +-
 .../test32-fnptr-changes-report-0.txt         |    20 +-
 .../test33-fnref-changes-report-0.txt         |    20 +-
 .../test41-PR20476-hidden-report-0.txt        |     2 +-
 tests/data/test-diff-dwarf/test5-report.txt   |     2 +-
 .../test-PR26739-2-report-0.txt               |     2 +-
 ...st26-qualified-redundant-node-report-0.txt |     2 +-
 ...st26-qualified-redundant-node-report-1.txt |     4 +-
 .../test30-pr18904-rvalueref-report0.txt      |    80 +-
 .../test30-pr18904-rvalueref-report1.txt      |    80 +-
 .../test30-pr18904-rvalueref-report2.txt      |    80 +-
 .../test31-pr18535-libstdc++-report-0.txt     |    18 +-
 .../test31-pr18535-libstdc++-report-1.txt     |    18 +-
 .../test35-pr18754-no-added-syms-report-0.txt |    62 +-
 .../test35-pr18754-no-added-syms-report-1.txt |    12 +-
 .../data/test-diff-filter/test41-report-0.txt |     2 +-
 tests/data/test-diff-filter/test6-report.txt  |     2 +-
 tests/data/test-diff-filter/test7-report.txt  |     2 +-
 .../gmp-6.x.x86_64-report-0.txt               |     4 +-
 .../test-diff-pkg-ctf/test-rpm-report-0.txt   |     2 +-
 ...x86_64--2.24.2-30.fc30.x86_64-report-0.txt |     4 +-
 .../PR24690/PR24690-report-0.txt              |    10 +-
 ...-2.0-0v5_2.4.1-1ubuntu2_amd64-report-0.txt |     6 +-
 ...pt-compat-4.4.18-3.el9.x86_64-report-1.txt |     2 +-
 ...l7.x86_64-0.12.8-1.el7.x86_64-report-2.txt |   124 +-
 ...l7.x86_64-0.12.8-1.el7.x86_64-report-3.txt |     2 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-0.txt |    32 +-
 ...bb-4.3-3.20141204.fc23.x86_64-report-1.txt |     8 +-
 .../test0-type-suppr-report-0.txt             |     2 +-
 .../test0-type-suppr-report-3.txt             |     2 +-
 .../test0-type-suppr-report-5.txt             |     2 +-
 .../test0-type-suppr-report-7.txt             |     2 +-
 .../test15-suppr-added-fn-report-0.txt        |     2 +-
 .../test15-suppr-added-fn-report-2.txt        |     2 +-
 .../test15-suppr-added-fn-report-5.txt        |     2 +-
 .../test16-suppr-removed-fn-report-0.txt      |     2 +-
 .../test16-suppr-removed-fn-report-3.txt      |     2 +-
 .../test16-suppr-removed-fn-report-5.txt      |     2 +-
 .../test27-add-aliased-function-report-0.txt  |     2 +-
 .../test27-add-aliased-function-report-3.txt  |     2 +-
 .../test27-add-aliased-function-report-4.txt  |     2 +-
 .../test28-add-aliased-function-report-0.txt  |     2 +-
 .../test28-add-aliased-function-report-1.txt  |     2 +-
 .../test28-add-aliased-function-report-2.txt  |     2 +-
 .../test28-add-aliased-function-report-4.txt  |     2 +-
 .../test28-add-aliased-function-report-5.txt  |     2 +-
 .../data/test-diff-suppr/test30-report-0.txt  |     2 +-
 .../data/test-diff-suppr/test32-report-0.txt  |     4 +-
 .../data/test-diff-suppr/test32-report-1.txt  |     2 +-
 ...t44-suppr-sym-name-not-regexp-report-1.txt |     2 +-
 ...-vte291-0.39.90-1.fc22.x86_64-report-0.txt |     2 +-
 tests/data/test-read-btf/test0.o.abi          |     2 +-
 tests/data/test-read-btf/test1.o.abi          |     2 +-
 .../test-read-ctf/PR27700/test-PR27700.abi    |     2 +-
 tests/data/test-read-ctf/test-PR26568-1.o.abi |     2 +-
 tests/data/test-read-ctf/test-PR26568-2.o.abi |     2 +-
 tests/data/test-read-ctf/test-alias.o.abi     |     2 +-
 .../test-ambiguous-struct-A.o.hash.abi        |     2 +-
 .../test-ambiguous-struct-B.o.hash.abi        |     2 +-
 .../test-read-ctf/test-anonymous-fields.o.abi |     2 +-
 .../test-read-ctf/test-array-mdimension.abi   |     2 +-
 .../test-read-ctf/test-array-of-pointers.abi  |     2 +-
 tests/data/test-read-ctf/test-array-size.abi  |     2 +-
 .../data/test-read-ctf/test-bitfield-enum.abi |     2 +-
 tests/data/test-read-ctf/test-bitfield.abi    |     2 +-
 tests/data/test-read-ctf/test-callback.abi    |     2 +-
 tests/data/test-read-ctf/test-callback2.abi   |     2 +-
 .../test-conflicting-type-syms-a.o.hash.abi   |     2 +-
 .../test-conflicting-type-syms-b.o.hash.abi   |     2 +-
 tests/data/test-read-ctf/test-const-array.abi |     2 +-
 .../test-read-ctf/test-dynamic-array.o.abi    |     2 +-
 .../test-read-ctf/test-enum-many.o.hash.abi   |     2 +-
 .../test-read-ctf/test-enum-symbol.o.hash.abi |     2 +-
 tests/data/test-read-ctf/test-enum.o.abi      |     2 +-
 tests/data/test-read-ctf/test-fallback.abi    |     2 +-
 .../test-read-ctf/test-forward-type-decl.abi  |     2 +-
 .../test-functions-declaration.abi            |     2 +-
 .../data/test-read-ctf/test-linux-module.abi  |     2 +-
 tests/data/test-read-ctf/test-list-struct.abi |     2 +-
 tests/data/test-read-ctf/test0.abi            |     2 +-
 tests/data/test-read-ctf/test0.hash.abi       |     2 +-
 tests/data/test-read-ctf/test1.so.abi         |     2 +-
 tests/data/test-read-ctf/test1.so.hash.abi    |     2 +-
 tests/data/test-read-ctf/test2.so.abi         |     2 +-
 tests/data/test-read-ctf/test2.so.hash.abi    |     2 +-
 tests/data/test-read-ctf/test3.so.abi         |     2 +-
 tests/data/test-read-ctf/test3.so.hash.abi    |     2 +-
 tests/data/test-read-ctf/test4.so.abi         |     2 +-
 tests/data/test-read-ctf/test4.so.hash.abi    |     2 +-
 tests/data/test-read-ctf/test5.o.abi          |     2 +-
 tests/data/test-read-ctf/test7.o.abi          |     2 +-
 tests/data/test-read-ctf/test8.o.abi          |     2 +-
 tests/data/test-read-ctf/test9.o.abi          |    16 +-
 .../PR22015-libboost_iostreams.so.abi         |  2731 +-
 .../test-read-dwarf/PR22122-libftdc.so.abi    |   332 +-
 .../PR24378-fn-is-not-scope.abi               |     2 +-
 .../data/test-read-dwarf/PR25007-sdhci.ko.abi |  1368 +-
 .../PR25042-libgdbm-clang-dwarf5.so.6.0.0.abi |     2 +-
 .../test-read-dwarf/PR26261/PR26261-exe.abi   |     2 +-
 .../test-read-dwarf/PR27700/test-PR27700.abi  |     2 +-
 .../PR28584/PR28584-smv.clang.o.abi           |     2 +-
 .../test-read-dwarf/PR29443-missing-xx.o.abi  |     2 +-
 .../PR29692-kdelibs3-libkjava.so.1.0.0.abi    |     2 +-
 tests/data/test-read-dwarf/libtest23.so.abi   |     2 +-
 .../libtest24-drop-fns-2.so.abi               |     2 +-
 .../test-read-dwarf/libtest24-drop-fns.so.abi |     2 +-
 .../data/test-read-dwarf/test-PR26568-1.o.abi |     2 +-
 .../data/test-read-dwarf/test-PR26568-2.o.abi |     2 +-
 tests/data/test-read-dwarf/test-fallback.abi  |     2 +-
 .../test-read-dwarf/test-libaaudio.so.abi     |    28 +-
 .../test-read-dwarf/test-libandroid.so.abi    |  1222 +-
 .../test-pointer-to-member-1.cc               |    30 +
 .../test-pointer-to-member-1.o                |   Bin 0 -> 4360 bytes
 .../test-pointer-to-member-1.o.abi            |    59 +
 .../test-suppressed-alias.o.abi               |     2 +-
 tests/data/test-read-dwarf/test0.abi          |     2 +-
 tests/data/test-read-dwarf/test0.hash.abi     |     2 +-
 tests/data/test-read-dwarf/test1.abi          |     2 +-
 tests/data/test-read-dwarf/test1.hash.abi     |     2 +-
 .../test-read-dwarf/test10-pr18818-gcc.so.abi |     2 +-
 .../test-read-dwarf/test11-pr18828.so.abi     |  5562 ++--
 .../test-read-dwarf/test12-pr18844.so.abi     | 24157 ++++++++--------
 .../test-read-dwarf/test13-pr18894.so.abi     |   166 +-
 .../test-read-dwarf/test14-pr18893.so.abi     |    22 +-
 .../test-read-dwarf/test15-pr18892.so.abi     |  1608 +-
 .../test-read-dwarf/test16-pr18904.so.abi     |   646 +-
 .../test-read-dwarf/test17-pr19027.so.abi     |  2792 +-
 ...st18-pr19037-libvtkRenderingLIC-6.1.so.abi |     2 +-
 ...19-pr19023-libtcmalloc_and_profiler.so.abi |   952 +-
 tests/data/test-read-dwarf/test2.so.abi       |     2 +-
 tests/data/test-read-dwarf/test2.so.hash.abi  |     2 +-
 ...st20-pr19025-libvtkParallelCore-6.1.so.abi |     2 +-
 .../test-read-dwarf/test21-pr19092.so.abi     |    50 +-
 .../test22-pr19097-libstdc++.so.6.0.17.so.abi |   564 +-
 .../test-read-dwarf/test3-alias-1.so.hash.abi |     2 +-
 .../test-read-dwarf/test3-alias-2.so.hash.abi |     2 +-
 .../test-read-dwarf/test3-alias-3.so.hash.abi |     2 +-
 .../test-read-dwarf/test3-alias-4.so.hash.abi |     2 +-
 tests/data/test-read-dwarf/test3.so.abi       |     2 +-
 tests/data/test-read-dwarf/test3.so.hash.abi  |     2 +-
 tests/data/test-read-dwarf/test4.so.abi       |     2 +-
 tests/data/test-read-dwarf/test4.so.hash.abi  |     2 +-
 tests/data/test-read-dwarf/test5.o.abi        |     2 +-
 tests/data/test-read-dwarf/test5.o.hash.abi   |     2 +-
 tests/data/test-read-dwarf/test6.so.abi       |     2 +-
 tests/data/test-read-dwarf/test6.so.hash.abi  |     2 +-
 tests/data/test-read-dwarf/test7.so.abi       |    16 +-
 tests/data/test-read-dwarf/test7.so.hash.abi  |    12 +-
 .../test8-qualified-this-pointer.so.abi       |     2 +-
 .../test8-qualified-this-pointer.so.hash.abi  |     2 +-
 .../test9-pr18818-clang.so.abi                |     2 +-
 tests/data/test-read-write/test-crc.xml       |     2 +-
 tests/data/test-read-write/test26.xml         |     2 +-
 tests/data/test-read-write/test27.xml         |     2 +-
 .../test28-without-std-fns-ref.xml            |     2 +-
 .../test28-without-std-vars-ref.xml           |     2 +-
 tests/test-abidiff-exit.cc                    |    75 +
 tests/test-annotate.cc                        |     5 +
 tests/test-read-dwarf.cc                      |     9 +
 249 files changed, 28856 insertions(+), 26184 deletions(-)
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr1-output-1.txt
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr1-v0.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr1-v0.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr1-v1.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr1-v1.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr2-output-1.txt
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr2-v0.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr2-v0.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr2-v1.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr2-v1.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr3-output-1.txt
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr3-v0.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr3-v0.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr3-v1.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr3-v1.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr4-output-1.txt
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr4-v0.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr4-v0.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr4-v1.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr4-v1.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr5-output-1.txt
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr5-v0.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr5-v0.o
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr5-v1.cc
 create mode 100644 tests/data/test-abidiff-exit/pointer-to-member/test-ptr-to-mbr5-v1.o
 create mode 100644 tests/data/test-annotate/test-pointer-to-member-1.o.annotated.abi
 create mode 100644 tests/data/test-read-dwarf/test-pointer-to-member-1.cc
 create mode 100644 tests/data/test-read-dwarf/test-pointer-to-member-1.o
 create mode 100644 tests/data/test-read-dwarf/test-pointer-to-member-1.o.abi

-- 
2.39.3


-- 
		Dodji


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

end of thread, other threads:[~2023-12-01 15:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-01 15:51 [PATCH 0/4] Support C++ pointer-to-member types Dodji Seketeli
2023-12-01 15:54 ` [PATCH 1/4, applied] Improve type naming Dodji Seketeli
2023-12-01 15:54 ` [PATCH 2/4, applied] Bug 30260 - Support pointer-to-member type Dodji Seketeli
2023-12-01 15:55 ` [PATCH 3/4, applied] Bump abixml version to 2.3 Dodji Seketeli
2023-12-01 15:57 ` [PATCH 4/4, applied] Bump LIBABIGAIL_SO_CURRENT version to 4 Dodji Seketeli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).