From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33142 invoked by alias); 31 Aug 2015 17:57:13 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 33133 invoked by uid 89); 31 Aug 2015 17:57:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.0 required=5.0 tests=AWL,BAYES_40,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-io0-f171.google.com Received: from mail-io0-f171.google.com (HELO mail-io0-f171.google.com) (209.85.223.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 31 Aug 2015 17:57:11 +0000 Received: by iod35 with SMTP id 35so37223810iod.3 for ; Mon, 31 Aug 2015 10:57:09 -0700 (PDT) X-Received: by 10.107.148.7 with SMTP id w7mr31157041iod.82.1441043829669; Mon, 31 Aug 2015 10:57:09 -0700 (PDT) Received: from msticlxl57.ims.intel.com (fmdmzpr02-ext.fm.intel.com. [192.55.55.37]) by smtp.gmail.com with ESMTPSA id h33sm13528652iod.23.2015.08.31.10.57.07 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 31 Aug 2015 10:57:09 -0700 (PDT) Date: Mon, 31 Aug 2015 18:07:00 -0000 From: Ilya Verbin To: Jakub Jelinek Cc: Dodji Seketeli , gcc-patches@gcc.gnu.org, Kirill Yukhin Subject: Re: [PATCH] Import liboffloadmic from upstream Message-ID: <20150831175658.GB5011@msticlxl57.ims.intel.com> References: <20150831132349.GA5011@msticlxl57.ims.intel.com> <20150831144953.GB1847@tucnak.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150831144953.GB1847@tucnak.redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-IsSubscribed: yes X-SW-Source: 2015-08/txt/msg01899.txt.bz2 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