[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH for-4.7] xen/build: Fix build with Clang
>>> On 07.04.16 at 20:46, <andrew.cooper3@xxxxxxxxxx> wrote: > The clang build already has many duplicate symbols for some reason I have yet > to identify, e.g. > > Duplicate symbol 'asid.c#get_cpu_info' (ffff82d0801e6840 != > ffff82d0801c8190) > Duplicate symbol 'ats.c#__list_add' (ffff82d08015b900 != ffff82d0801546a0) > Duplicate symbol 'common.c#clear_bit' (ffff82d080213560 != ffff82d0801baf10) > Duplicate symbol 'common.c#constant_test_bit' (ffff82d080213550 != > ffff82d0801ba750) > Duplicate symbol 'common.c#cpumask_check' (ffff82d080218c50 != > ffff82d0801baf20) > Duplicate symbol 'common.c#cpumask_clear_cpu' (ffff82d080214990 != > ffff82d0801bae40) > Duplicate symbol 'common.c#get_cpu_info' (ffff82d080212210 != > ffff82d0801bad20) > > The resulting binary does function. Someone with more time can investigate > making symbol handling work better with Clang I'd guess that's because they don't inline functions as aggressively as gcc does. > --- a/xen/Rules.mk > +++ b/xen/Rules.mk > @@ -50,9 +50,15 @@ ALL_OBJS-$(CONFIG_X86) += $(BASEDIR)/crypto/built_in.o > CFLAGS += -nostdinc -fno-builtin -fno-common > CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith > CFLAGS += -pipe -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h > -CFLAGS += -Wa,--strip-local-absolute > CFLAGS += '-D__OBJECT_FILE__="$@"' > > +ifneq ($(clang),y) > +# Clang doesn't understand this command line argument, and doesn't appear to > +# have an suitable alternative. The resulting compiled binary does function, > +# but has an excessively large symbol table. > +CFLAGS += -Wa,--strip-local-absolute > +endif Well, that's the brute force undo-it-altogether-for-clang approach that I think Doug had also considered. You may have seen the discussion (on irc iirc) - I'd really like to see the option still getting passed to gas (for all the .S files) even when using clang. Would that really be hard to arrange for? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |