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

Re: [Xen-devel] [PATCH] tools: disable linker --as-needed option



>>> On 01.02.11 at 10:09, Ian Campbell <ian.campbell@xxxxxxxxxx> wrote:
> # HG changeset patch
> # User Ian Campbell <ian.campbell@xxxxxxxxxx>
> # Date 1296550939 0
> # Node ID a3fb60cc3be3dc6596ed8395e0eb70514bdfcc74
> # Parent  5b6663ba2bb2c54e8fa6745afa16297ebe43328d
> tools: disable linker --as-needed option.
> 
> The Xen build system is not currently compatible with the --as-needed
> linker option. The proper fix for this is turning out to be rather
> invasive to the build system so simply disable for now with the
> intention of revisiting for the 4.2 release.
> 
> The $(COMMA) trick allows "," in macro arguments.
> 
> Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> Reported/Tested-by: Nathan March <nathan@xxxxxx>
> 
> diff -r 5b6663ba2bb2 -r a3fb60cc3be3 tools/Rules.mk
> --- a/tools/Rules.mk  Mon Jan 31 09:14:52 2011 +0000
> +++ b/tools/Rules.mk  Tue Feb 01 09:02:19 2011 +0000
> @@ -55,6 +55,10 @@ LDFLAGS += $(shell getconf LFS_LDFLAGS)
>  LDFLAGS += $(shell getconf LFS_LDFLAGS)
>  endif
>  
> +# Xen tools build is currently incompatible with ld --as-needed
> +COMMA := ,
> +LDFLAGS += $(call cc-option,$(CC),-Wl$(COMMA)--no-as-needed)

I don't think this actually works (Did you try with a linker not
supporting this option?), as cc-option is implemented passing
-S to the compiler (i.e. the linker won't even get invoked).

> +
>  # 32-bit x86 does not perform well with -ve segment accesses on Xen.
>  CFLAGS-$(CONFIG_X86_32) += $(call cc-option,$(CC),-mno-tls-direct-seg-refs)
>  CFLAGS += $(CFLAGS-y)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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