public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/23705] New: abidiff issue with harfbuzz
@ 2018-01-01  0:00 bochecha at daitauha dot fr
  2018-01-01  0:00 ` [Bug default/23705] " bochecha at daitauha dot fr
  2018-01-01  0:00 ` dodji at redhat dot com
  0 siblings, 2 replies; 3+ messages in thread
From: bochecha at daitauha dot fr @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 23705
           Summary: abidiff issue with harfbuzz
           Product: libabigail
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: bochecha at daitauha dot fr
                CC: libabigail at sourceware dot org
  Target Milestone: ---

Created attachment 11271
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11271&action=edit
A tarball containing the libraries, debuginfos and headers, to reproduce the
commands in the bug description

I **think** I found one more issue where libabigail thinks we broke ABI but we
didn't.

$ abidiff --no-added-syms --drop-private-types --headers-dir1
harfbuzz-1.8.4/usr/include --headers-dir2 harfbuzz-1.9.0/usr/include
--debug-info-dir1 harfbuzz-1.8.4/usr/lib/debug --debug-info-dir2
harfbuzz-1.9.0/usr/lib/debug
harfbuzz-1.8.4/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10800.4
harfbuzz-1.9.0/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10900.0 
Functions changes summary: 0 Removed, 1 Changed, 0 Added (11 filtered out)
functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

1 function with some indirect sub-type change:

  [C]'function hb_blob_t* hb_glib_blob_create(GBytes*)' at hb-glib.cc:424:1 has
some indirect sub-type changes:
    return type changed:
      entity changed from 'hb_blob_t*' to 'void'
      type size changed from 64 to 0 (in bits)

Neither the code (hb-glib.cc) nor the header (hb-glib.h) changed anything on
this function between harfbuzz 1.8.4 and 1.9.0.

I tried looking at abidw:

$ abidw --debug-info-dir harfbuzz-1.8.4/usr/lib/debug --headers-dir
harfbuzz-1.8.4/usr/include
harfbuzz-1.8.4/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10800.4

That tells me the following about this function:

    <function-decl name='hb_glib_blob_create'
mangled-name='hb_glib_blob_create' filepath='../../src/hb-glib.cc' line='426'
column='1' visibility='default' binding='global' size-in-bits='64'
elf-symbol-id='hb_glib_blob_create'>
      <parameter type-id='type-id-2761' name='gbytes'
filepath='../../src/hb-glib.cc' line='426' column='1'/>
      <return type-id='type-id-77'/>
    </function-decl>

The return type is type-id-77 which is:

    <pointer-type-def type-id='type-id-74' size-in-bits='64' id='type-id-77'/>

If I get this right, it's a pointer to type-id-74, which is:

    <class-decl name='hb_blob_t' size-in-bits='448' is-struct='yes'
visibility='default' filepath='../../src/hb-blob-private.hh' line='39'
column='1' id='type-id-74'>

Alright, so abidw seems to confirm that in 1.8.4, hb_glib_blob_create returns a
pointer to hb_blob_t.

Doing the same thing with 1.9.0:

$ abidw --debug-info-dir harfbuzz-1.9.0/usr/lib/debug --headers-dir
harfbuzz-1.9.0/usr/include
harfbuzz-1.9.0/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10900.0 

That tells me the following about this function:

    <function-decl name='hb_glib_blob_create'
mangled-name='hb_glib_blob_create' filepath='../../src/hb-glib.cc' line='424'
column='1' visibility='default' binding='global' size-in-bits='64'
elf-symbol-id='hb_glib_blob_create'>
      <parameter type-id='type-id-3953' name='gbytes'
filepath='../../src/hb-glib.cc' line='424' column='1'/>
      <return type-id='type-id-42'/>
    </function-decl>

The return type is type-id-42 which is:

    <pointer-type-def type-id='type-id-38' size-in-bits='64' id='type-id-42'/>

If I get this right, it's a pointer to type-id-38, which is:

    <class-decl name='hb_blob_t' size-in-bits='448' is-struct='yes'
visibility='default' filepath='../../src/hb-blob.hh' line='39' column='1'
id='type-id-38'>

Alright, so abidw seems to confirm that in 1.9.0, hb_glib_blob_create returns a
pointer to hb_blob_t.

So, why would abidiff think the function returns void in 1.9.0?

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

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

* [Bug default/23705] abidiff issue with harfbuzz
  2018-01-01  0:00 [Bug default/23705] New: abidiff issue with harfbuzz bochecha at daitauha dot fr
  2018-01-01  0:00 ` [Bug default/23705] " bochecha at daitauha dot fr
@ 2018-01-01  0:00 ` dodji at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: dodji at redhat dot com @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #1 from dodji at redhat dot com ---
After the recent fixes hit the master git branch, it seems I cannot reproduce
this issue anymore, even with the tarball that you attached.  Here is what I am
getting as a result:

$ abidiff --no-added-syms --drop-private-types --headers-dir1
harfbuzz-1.8.4/usr/include --headers-dir2 harfbuzz-1.9.0/usr/include
--debug-info-dir1 harfbuzz-1.8.4/usr/lib/debug --debug-info-dir2
harfbuzz-1.9.0/usr/lib/debug harfbuzz-1.8.\
4/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10800.4
harfbuzz-1.9.0/usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10900.0
Functions changes summary: 0 Removed, 0 Changed (83 filtered out), 0 Added (11
filtered out) functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

$

I am thus tentatively closing this issue as solved.

Thanks for filing it!

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

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

* [Bug default/23705] abidiff issue with harfbuzz
  2018-01-01  0:00 [Bug default/23705] New: abidiff issue with harfbuzz bochecha at daitauha dot fr
@ 2018-01-01  0:00 ` bochecha at daitauha dot fr
  2018-01-01  0:00 ` dodji at redhat dot com
  1 sibling, 0 replies; 3+ messages in thread
From: bochecha at daitauha dot fr @ 2018-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

--- Comment #2 from Mathieu Bridon <bochecha at daitauha dot fr> ---
I confirm this is fixed in master, probably by one of your other changes. :)

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

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

end of thread, other threads:[~2018-10-02 16:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-01  0:00 [Bug default/23705] New: abidiff issue with harfbuzz bochecha at daitauha dot fr
2018-01-01  0:00 ` [Bug default/23705] " bochecha at daitauha dot fr
2018-01-01  0:00 ` dodji at redhat dot com

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).