[Bug,default/27715] Fails to detect GObjectClass ABI changes

Message ID bug-27715-9487-iy674nTB1q@http.sourceware.org/bugzilla/
State New
Headers
Series [Bug,default/27715] Fails to detect GObjectClass ABI changes |

Commit Message

mark at klomp dot org April 12, 2021, 8:21 a.m. UTC
  https://sourceware.org/bugzilla/show_bug.cgi?id=27715

--- Comment #2 from Marc-André Lureau <marcandre.lureau at gmail dot com> ---
Reproducer:

https://gitlab.gnome.org/GNOME/glib/

meson setup build && ninja -C build
DESTDIR=/tmp/old ninja -C build install

Modify a base class:

ninja -C build
DESTDIR=/tmp/new ninja -C build install

abidiff --headers-dir1 /tmp/old/usr/include/glib-2.0/gobject --headers-dir2
/tmp/new/usr/include/glib-2.0/gobject/  --fail-no-debug-info --no-added-syms   
             /tmp/old/usr/lib64/libgobject-2.0.so.0.6900.0
/tmp/new/usr/lib64/libgobject-2.0.so.0.6900.0

The starting point is that GTypeModuleClass isn't being used explicitely by
functions. Yet it is the base class / vfunc / private of objects and should
have ABI stability.
  

Patch

diff --git a/gobject/gtypemodule.h b/gobject/gtypemodule.h
index 5c4025063..f15f18a32 100644
--- a/gobject/gtypemodule.h
+++ b/gobject/gtypemodule.h
@@ -80,7 +80,6 @@  struct _GTypeModuleClass
   void (*reserved1) (void);
   void (*reserved2) (void);
   void (*reserved3) (void);
-  void (*reserved4) (void);
 };