Re: [gnome-flashback] Checking ABI / Symbol changes?



On Mon, Jun 2, 2014 at 12:51 AM, Lanoxx <lanoxx gmx net> wrote:
When I try this I notice two things:

 * nm also prints undefined symbols, wouln't it make more sense to just
check defined symbols (--defined-only)?

Yes, --defined-only makes sense.

Also, instead of nm you can use objdump. For example, Dpkg uses that
to generate symbols files:
http://sources.debian.net/src/dpkg/1.17.9/scripts/Dpkg/Shlibs/Objdump.pm#L267

It also seems that some undefined symbols change when I compare
the two versions (master and 3.8.0). For example:

@@ -128,6 +127,8 @@
                  U g_printerr
                  U g_resources_lookup_data
                  U g_return_if_fail_warning
+                 U g_settings_get_string
+                 U g_settings_new

I am not sure what that means.

These are, obviously, not our own symbols, but symbols of a library we
load. Ignore that.

 * The symbol values also change. What are the effects of symbol value
changes on the ABI?

I don't think that matters.

and compare output for old and new versions. If something is removed,
then it is an ABI break.

I have attached a patch to partially revert the changes. Alberts says that
these two methods are not part of the public API. And given that the file
panel-applet-bindings.h is not contained in libpanel_appletinclude_HEADERS I
tend to agree. These functions are also not documented.

I think it is still an ABI change, so we should either apply your
patch or bump SONAME.

--
Dmitry Shachnev


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]