public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Ilya Verbin <iverbin@gmail.com>
To: Jakub Jelinek <jakub@redhat.com>
Cc: Dodji Seketeli <dseketel@redhat.com>,
	gcc-patches@gcc.gnu.org,	Kirill Yukhin <kirill.yukhin@gmail.com>
Subject: Re: [PATCH] Import liboffloadmic from upstream
Date: Mon, 31 Aug 2015 18:07:00 -0000	[thread overview]
Message-ID: <20150831175658.GB5011@msticlxl57.ims.intel.com> (raw)
In-Reply-To: <20150831144953.GB1847@tucnak.redhat.com>

On Mon, Aug 31, 2015 at 16:49:53 +0200, Jakub Jelinek wrote:
> 1) Is the library backwards ABI compatible?  Can you run e.g.
>    libabigail abidiff in between the unpatched and patched version?

It should be in theory, and I've successfully tested an old binary with old
libgomp plugin and with new liboffloadmic.  However, `abidiff --changed-fns
old/liboffloadmic_host.so new/liboffloadmic_host.so` prints:

Functions changes summary: 0 Removed (82 filtered out), 7 Changed (21 filtered out), 0 Added functions (1081 filtered out)
Variables changes summary: 0 Removed (25 filtered out), 1 Changed, 0 Added variables (7 filtered out)
Function symbols changes summary: 7 Removed, 76 Added function symbols not referenced by debug info
Variable symbols changes summary: 22 Removed, 4 Added variable symbols not referenced by debug info

7 functions with some indirect sub-type change:

/* Unused functions skipped.  */

  [C]'function int __offload_offload(OFFLOAD, const char*, int, int, VarDesc*, VarDesc2*, int, int)' has some indirect sub-type changes:
    parameter 1 of type 'typedef OFFLOAD' has sub-type changes:
      underlying type 'OffloadDescriptor*' changed:
        in pointed to type 'struct OffloadDescriptor':
          type size changed from 2240 to 2368 bits
          9 data member insertions:
	    /* ...  */

  [C]'function void __offload_register_image()' has some indirect sub-type changes:
    return type changed:
      type name changed from 'void' to 'bool'
      type size changed from 0 to 8 bits

abidiff: ../../src/abg-comparison.cc:10731: virtual void abigail::comparison::fn_parm_diff::report(std::ostream&, const string&) const: Assertion `get_type_diff() && get_type_diff()->to_be_reported()' failed.
Aborted (core dumped)

> 2) the *.map changes look wrong, when adding symbols to a symbol versioned
>    shared library, new symbols shouldn't be added to existing symbol
>    version, but to a new symbol version (so e.g. MYO_1.0.1 (or MYO_1.1)
>    and COI_1.0.1 (or COI_1.1))

I agree, but this is what I can't change - these files are copied from real COI/
MYO libraries, therefore the emulator (fake COI/MYO libs) must have the same
versions as the real libs.

  -- Ilya

  reply	other threads:[~2015-08-31 17:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-31 14:03 Ilya Verbin
2015-08-31 15:08 ` Jakub Jelinek
2015-08-31 18:07   ` Ilya Verbin [this message]
2015-08-31 18:08     ` Jakub Jelinek
2015-09-08 13:41       ` Ilya Verbin
2015-09-08 13:49         ` Jakub Jelinek
2015-08-31 19:08     ` Jakub Jelinek
2015-09-01  7:58     ` Dodji Seketeli
2015-09-01 11:59       ` Ilya Verbin
2015-09-02 13:44         ` Dodji Seketeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150831175658.GB5011@msticlxl57.ims.intel.com \
    --to=iverbin@gmail.com \
    --cc=dseketel@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    --cc=kirill.yukhin@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).