]> xenbits.xensource.com Git - xen.git/commitdiff
x86: suppress duplicate symbol warnings for CONFIG_GCOV
authorJan Beulich <jbeulich@suse.com>
Fri, 31 Mar 2017 11:23:53 +0000 (13:23 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 31 Mar 2017 11:23:53 +0000 (13:23 +0200)
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@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
xen/Kconfig.debug
xen/arch/x86/Makefile
xen/common/Kconfig

index 813956460df2d1a4fb56983c5573c9f442959ab1..689f2974c0e4629232b6641fad4ecfc9b67f3c95 100644 (file)
@@ -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.
 
index adc768f0a862d78c7538e58f4b4357b0ea945cf7..23312469232e48e5320b23a55d7a27c5087548c5 100644 (file)
@@ -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) \
index 5334be38a9cf538e2966e04a34181cdcd5d8b870..afbc0e9be9b53ef59bed5ce68e65d32d7694697b 100644 (file)
@@ -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 ""