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

[Xen-changelog] [xen master] x86: suppress duplicate symbol warnings for CONFIG_GCOV



commit 064a26522338fb1a50e68f559c1e6fcd5601f441
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Fri Mar 31 13:23:53 2017 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri Mar 31 13:23:53 2017 +0200

    x86: suppress duplicate symbol warnings for CONFIG_GCOV
    
    There are quite a few of these, and as the option is a development one
    only, duplicate symbol names should not be an issue there. In other
    environments allow the user to control this, unless Live patching is
    enabled.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Wei Liu <wei.liu2@xxxxxxxxxx>
    Reviewed-by: Ross Lagerwall <ross.lagerwall@xxxxxxxxxx>
---
 xen/Kconfig.debug     |  1 +
 xen/arch/x86/Makefile |  5 ++++-
 xen/common/Kconfig    | 10 ++++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index 8139564..689f297 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -31,6 +31,7 @@ config FRAME_POINTER
 config GCOV
        bool "Gcov Support"
        depends on !LIVEPATCH
+       select SUPPRESS_DUPLICATE_SYMBOL_WARNINGS
        ---help---
          Enable gcov (a test coverage program in GCC) support.
 
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index adc768f..2331246 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -90,6 +90,9 @@ else
 all_symbols =
 endif
 
+syms-warn-dup-y := --warn-dup
+syms-warn-dup-$(CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS) :=
+
 $(TARGET): $(TARGET)-syms $(efi-y) boot/mkelf32
        ./boot/mkelf32 $(notes_phdrs) $(TARGET)-syms $(TARGET) 0x100000 \
                       `$(NM) $(TARGET)-syms | sed -ne 's/^\([^ ]*\) . 
__2M_rwdata_end$$/0x\1/p'`
@@ -131,7 +134,7 @@ $(TARGET)-syms: prelink.o xen.lds 
$(BASEDIR)/common/symbols-dummy.o
        $(LD) $(LDFLAGS) -T xen.lds -N prelink.o $(build_id_linker) \
            $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
        $(NM) -pa --format=sysv $(@D)/.$(@F).1 \
-               | $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort 
--warn-dup \
+               | $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort 
$(syms-warn-dup-y) \
                >$(@D)/.$(@F).1.S
        $(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
        $(LD) $(LDFLAGS) -T xen.lds -N prelink.o $(build_id_linker) \
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 5334be3..afbc0e9 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -238,6 +238,16 @@ config FAST_SYMBOL_LOOKUP
 
          If unsure, say Y.
 
+config SUPPRESS_DUPLICATE_SYMBOL_WARNINGS
+       bool "Suppress duplicate symbol warnings" if !LIVEPATCH
+       default y if !LIVEPATCH
+       ---help---
+         Multiple symbols with the same name aren't generally a problem
+         unless Live patching is to be used, so these warnings can be
+         suppressed by enabling this option.  Certain other options (known
+         to produce many duplicate names) may select this to avoid the
+         build becoming overly verbose.
+
 config CMDLINE
        string "Built-in hypervisor command string" if EXPERT = "y"
        default ""
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.