From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Keir Fraser <keir@xen.org>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
Ian Jackson <Ian.Jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
Ian Campbell <Ian.Campbell@eu.citrix.com>,
xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/5] symbols: prefix static symbols with their source file names
Date: Wed, 28 Oct 2015 13:42:49 +0000 [thread overview]
Message-ID: <5630D0D9.9060405@citrix.com> (raw)
In-Reply-To: <5630DADA02000078000AF87F@prv-mh.provo.novell.com>
On 28/10/15 13:25, Jan Beulich wrote:
>>>> On 28.10.15 at 13:55, <andrew.cooper3@citrix.com> wrote:
>> On 26/10/15 11:49, Jan Beulich wrote:
>>> This requires adjustments to the tool generating the symbol table and
>>> its as well as nm's invocation.
>>>
>>> Note: Not warning about duplicate symbols in the EFI case for now, as
>>> a binutils bug causes misnamed file name entries to appear in EFI
>>> binaries' symbol tables when the file name is longer than 18 chars.
>>> (Not doing so also avoids other duplicates getting printed twice.)
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Should warn_dups become fatal once the patches to fix these...
>>
>> Duplicate symbol 'memory.c#get_reserved_device_memory' (ffff82d080140183
>> != ffff82d080118b5b)
>> Duplicate symbol 'platform_hypercall.c#__maddr_to_virt'
>> (ffff82d08023a3a2 != ffff82d080167e66)
>> Duplicate symbol 'platform_hypercall.c#__virt_to_maddr'
>> (ffff82d08023a401 != ffff82d080167ec5)
>> Duplicate symbol 'platform_hypercall.c#cpumask_check' (ffff82d08023a489
>> != ffff82d080167f4d)
>>
>> have been committed, to avoid accidental reintroduction?
> They all went in already. Or are you saying you saw these on top
> of what is in staging right now?
Current staging right now
andrewcoop@andrewcoop:/local/xen.git/xen$ git log --oneline staging^..
69bdd7f symbols: prefix static symbols with their source file names
bf0d492 x86/mm: don't call HVM-only function for PV guests
However, those duplicates are from the compat code, which I didn't
specifically take your patch 2 for.
>
> However - no to the question here. For one, there's nothing fatal
> about it the absence of xSplice. And even with xSplice I'm not sure
> this really should be fatal at the build stage.
For the non-xSplice case, the worst which can happen is indeed just a
harder-to-read stack trace.
However, for the xSplice case, we really should take reasonable steps to
make patching easier, and that includes avoiding duplicate symbols.
As a future user of xSplice, I would definitely like an option to fail
the hypervisor build if it will result in a hard-to-patch binary.
> What should force
> people to at least look closely would be a runtime patch using such
> a symbol. And second, ...
>
>> I note that even sysv format doesn't appear to provide directory
>> information, so we still cant distinguish duplicate static symbols in
>> identically named source files in difference directories, but hopefully
>> that should be very rare.
> ... this. I actually see one with some gcc versions (an inline function
> not expanded inline in two different cpufreq.c).
An inline function with an ASSERT/BUG or alternative by any chance? GCC
appears to aggressively out-of-line these, which is why had to sprinkle
always_inline to helpers such as stac()/clac()
~Andrew
next prev parent reply other threads:[~2015-10-28 13:42 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-26 10:47 [PATCH v2 0/5] disambiguate symbol names (part 2) Jan Beulich
2015-10-26 11:49 ` [PATCH v2 1/5] symbols: prefix static symbols with their source file names Jan Beulich
2015-10-28 12:55 ` Andrew Cooper
2015-10-28 13:25 ` Jan Beulich
2015-10-28 13:42 ` Andrew Cooper [this message]
2015-10-28 14:29 ` Jan Beulich
2015-11-02 13:47 ` Ian Campbell
2015-11-02 13:55 ` Jan Beulich
2015-11-02 14:54 ` Ian Campbell
2015-11-02 14:58 ` Jan Beulich
2015-11-02 15:11 ` Ian Campbell
2015-10-26 11:50 ` [PATCH v2 2/5] compat: enforce distinguishable file names in symbol table Jan Beulich
2015-10-28 13:08 ` Andrew Cooper
2015-11-02 15:20 ` Ian Campbell
2015-11-02 16:11 ` Jan Beulich
2015-11-03 12:22 ` Ian Campbell
2015-11-03 12:50 ` Jan Beulich
2015-11-03 13:39 ` Ian Campbell
2015-11-03 15:31 ` Jan Beulich
2015-11-03 15:42 ` Ian Campbell
2015-10-26 11:51 ` [PATCH v2 3/5] x86/mm: override stored file names for multiply built sources Jan Beulich
2015-10-26 12:52 ` Andrew Cooper
2015-10-26 14:34 ` Martin Pohlack
2015-10-26 14:57 ` George Dunlap
2015-10-26 15:12 ` Jan Beulich
2015-10-26 16:27 ` George Dunlap
2015-10-26 11:52 ` [PATCH v2 4/5] x86/mm: build map_domain_gfn() just once Jan Beulich
2015-10-26 12:52 ` Andrew Cooper
2015-10-26 14:58 ` George Dunlap
2015-10-26 11:53 ` [PATCH v2 5/5] x86/mm: only a single instance of gw_page_flags[] is needed Jan Beulich
2015-10-26 14:59 ` George Dunlap
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=5630D0D9.9060405@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=Ian.Campbell@eu.citrix.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=JBeulich@suse.com \
--cc=keir@xen.org \
--cc=stefano.stabellini@eu.citrix.com \
--cc=tim@xen.org \
--cc=xen-devel@lists.xenproject.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.