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

[Xen-devel] [PATCH v2] 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>
---
v2: Make this a separate config option, selected by GCOV.
---
I'm surprised ARM doesn't use --warn-dup at all so far.

--- 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.
 
--- 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 $(BASE
        $(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) \
--- 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 ""



Attachment: x86-gcov-no-warn-dup.patch
Description: Text document

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

 


Rackspace

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