[Bug default/23641] confusion when a type definition DIE is matched by a supprspec and its decl DIEs aren't

bochecha at daitauha dot fr sourceware-bugzilla@sourceware.org
Mon Jan 1 00:00:00 GMT 2018


https://sourceware.org/bugzilla/show_bug.cgi?id=23641

--- Comment #3 from Mathieu Bridon <bochecha at daitauha dot fr> ---
Unfortunately, this doesn't seem to be entirely fixed. :-/

When comparing Gtk 3.22.30 and Gtk 3.24 with abidiff 1.4, I get:

$ abidiff --no-added-syms --drop-private-types --headers-dir1 $T1/usr/include
--headers-dir2 $T2/usr/include --debug-info-dir1 $T1/usr/lib/debug
--debug-info-dir2 $T2/usr/lib/debug
$T1/usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2200.30
$T2/usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2400.0
Functions changes summary: 0 Removed, 2 Changed (58 filtered out), 0 Added (31
filtered out) functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

2 functions with some indirect sub-type change:

  [C]'function void gtk_enumerate_printers(GtkPrinterFunc, gpointer,
GDestroyNotify, gboolean)' at gtkprinter.c:1248:1 has some indirect sub-type
changes:
    parameter 1 of type 'typedef GtkPrinterFunc' has sub-type changes:
      underlying type 'typedef gboolean (GtkPrinter*, typedef gpointer)*'
changed:
        in pointed to type 'function type typedef gboolean (GtkPrinter*,
typedef gpointer)':
          parameter 1 of type 'GtkPrinter*' has sub-type changes:
            in pointed to type 'typedef GtkPrinter' at gtkprinter.h:81:1:
              underlying type 'struct _GtkPrinter' at gtkprinter.h:88:1
changed:
                type size hasn't changed
                1 data member insertion:
                  'GtkPrinterPrivate* _GtkPrinter::priv', at offset 192 (in
bits) at gtkprinter.h:93:1

  [C]'function void gtk_stack_add_named(GtkStack*, GtkWidget*, const gchar*)'
at gtkstack.c:1243:1 has some indirect sub-type changes:
    parameter 1 of type 'GtkStack*' has sub-type changes:
      in pointed to type 'typedef GtkStack' at gtkstack.h:41:1:
        underlying type 'struct _GtkStack' at gtkstack.h:67:1 changed:
          type size hasn't changed
          1 data member change:
           type of 'GtkContainer _GtkStack::parent_instance' changed:
             underlying type 'struct _GtkContainer' at gtkcontainer.h:49:1
changed:
               type size hasn't changed
               1 data member change:


    parameter 2 of type 'GtkWidget*' has sub-type changes:
      in pointed to type 'typedef GtkWidget' at gtktypes.h:46:1:
        underlying type 'struct _GtkWidget' at gtkwidget.h:133:1 changed:
          type size hasn't changed
          1 data member deletion:
            'GtkWidgetPrivate* _GtkWidget::priv', at offset 192 (in bits) at
gtkwidget.h:139:1

But with abidiff from Git master, I get:

$ ./tools/abidiff --no-added-syms --drop-private-types --headers-dir1
$T1/usr/include --headers-dir2 $T2/usr/include --debug-info-dir1
$T1/usr/lib/debug --debug-info-dir2 $T2/usr/lib/debug
$T1/usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2200.30
$T2/usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2400.0
Functions changes summary: 0 Removed, 1 Changed (37 filtered out), 0 Added (31
filtered out) functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

1 function with some indirect sub-type change:

  [C]'function void gtk_enumerate_printers(GtkPrinterFunc, gpointer,
GDestroyNotify, gboolean)' at gtkprinter.c:1248:1 has some indirect sub-type
changes:
    parameter 1 of type 'typedef GtkPrinterFunc' has sub-type changes:
      underlying type 'typedef gboolean (GtkPrinter*, typedef gpointer)*'
changed:
        in pointed to type 'function type typedef gboolean (GtkPrinter*,
typedef gpointer)':
          parameter 1 of type 'GtkPrinter*' has sub-type changes:
            in pointed to type 'typedef GtkPrinter' at gtkprinter.h:81:1:
              underlying type 'struct _GtkPrinter' at gtkprinter.h:88:1
changed:
                type size hasn't changed
                1 data member insertion:
                  'GtkPrinterPrivate* _GtkPrinter::priv', at offset 192 (in
bits) at gtkprinter.h:93:1

So there's definitely some progress. :)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Libabigail mailing list