* [PATCH] tools/lib/api: allow the linker to be overridden
@ 2017-02-15 14:56 Marcin Nowakowski
2017-02-15 15:18 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 3+ messages in thread
From: Marcin Nowakowski @ 2017-02-15 14:56 UTC (permalink / raw)
To: linux-kernel, Arnaldo Carvalho de Melo; +Cc: Marcin Nowakowski
Makefile in lib/api unconditionally sets the LD to support
cross-compilation. However, when invoked from within the perf build LD
may be already appropriately set for a given platform and the override
may lead to cross-compilation without appropriate linker flags.
Change the unconditional override to a conditional one.
Fixes: 37b4e2020a5f ('perf build: Add EXTRA_LDFLAGS option to makefile')
Fixes: 703e01652d25 ('tools lib api: Respect CROSS_COMPILE for the linker')
Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
---
tools/lib/api/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/lib/api/Makefile b/tools/lib/api/Makefile
index adba83b..42e00c4 100644
--- a/tools/lib/api/Makefile
+++ b/tools/lib/api/Makefile
@@ -10,7 +10,7 @@ endif
CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar
-LD = $(CROSS_COMPILE)ld
+LD ?= $(CROSS_COMPILE)ld
MAKEFLAGS += --no-print-directory
--
2.7.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] tools/lib/api: allow the linker to be overridden
2017-02-15 14:56 [PATCH] tools/lib/api: allow the linker to be overridden Marcin Nowakowski
@ 2017-02-15 15:18 ` Arnaldo Carvalho de Melo
2017-02-15 15:25 ` Marcin Nowakowski
0 siblings, 1 reply; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2017-02-15 15:18 UTC (permalink / raw)
To: Marcin Nowakowski; +Cc: linux-kernel
Em Wed, Feb 15, 2017 at 03:56:30PM +0100, Marcin Nowakowski escreveu:
> Makefile in lib/api unconditionally sets the LD to support
> cross-compilation. However, when invoked from within the perf build LD
> may be already appropriately set for a given platform and the override
> may lead to cross-compilation without appropriate linker flags.
> Change the unconditional override to a conditional one.
>
> Fixes: 37b4e2020a5f ('perf build: Add EXTRA_LDFLAGS option to makefile')
> Fixes: 703e01652d25 ('tools lib api: Respect CROSS_COMPILE for the linker')
>
> Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
> ---
> tools/lib/api/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/lib/api/Makefile b/tools/lib/api/Makefile
> index adba83b..42e00c4 100644
> --- a/tools/lib/api/Makefile
> +++ b/tools/lib/api/Makefile
> @@ -10,7 +10,7 @@ endif
>
> CC = $(CROSS_COMPILE)gcc
> AR = $(CROSS_COMPILE)ar
> -LD = $(CROSS_COMPILE)ld
> +LD ?= $(CROSS_COMPILE)ld
Looks strange to do this just for LD, what about CC and AR?
- Arnaldo
> MAKEFLAGS += --no-print-directory
>
> --
> 2.7.4
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] tools/lib/api: allow the linker to be overridden
2017-02-15 15:18 ` Arnaldo Carvalho de Melo
@ 2017-02-15 15:25 ` Marcin Nowakowski
0 siblings, 0 replies; 3+ messages in thread
From: Marcin Nowakowski @ 2017-02-15 15:25 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-kernel
Hi Arnaldo,
On 15.02.2017 16:18, Arnaldo Carvalho de Melo wrote:
> Em Wed, Feb 15, 2017 at 03:56:30PM +0100, Marcin Nowakowski escreveu:
>> Makefile in lib/api unconditionally sets the LD to support
>> cross-compilation. However, when invoked from within the perf build LD
>> may be already appropriately set for a given platform and the override
>> may lead to cross-compilation without appropriate linker flags.
>
>> Change the unconditional override to a conditional one.
>>
>> Fixes: 37b4e2020a5f ('perf build: Add EXTRA_LDFLAGS option to makefile')
>> Fixes: 703e01652d25 ('tools lib api: Respect CROSS_COMPILE for the linker')
>>
>> Signed-off-by: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
>> ---
>> tools/lib/api/Makefile | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/lib/api/Makefile b/tools/lib/api/Makefile
>> index adba83b..42e00c4 100644
>> --- a/tools/lib/api/Makefile
>> +++ b/tools/lib/api/Makefile
>> @@ -10,7 +10,7 @@ endif
>>
>> CC = $(CROSS_COMPILE)gcc
>> AR = $(CROSS_COMPILE)ar
>> -LD = $(CROSS_COMPILE)ld
>> +LD ?= $(CROSS_COMPILE)ld
>
> Looks strange to do this just for LD, what about CC and AR?
>
> - Arnaldo
I agree it looks a bit strange and at first I was thinking about doing
that, but the problem is that for eg. CC that doesn't work, because make
internally defines CC.
Perf uses a workaround for this:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/tools/perf/Makefile.perf#n136
so if you want I could move that to lib/api as well.
On the other hand the main problem that exists here is that for CC, all
extra variables are handled by EXTRA_CFLAGS variable that is used by
various makefiles, while there is no such 'global' equivalent for
LDFLAGS that could be used and this was 'merged' into the LD in commit
37b4e2020a5f (and later broken again by 703e01652d25).
Marcin
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-02-15 15:25 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-15 14:56 [PATCH] tools/lib/api: allow the linker to be overridden Marcin Nowakowski
2017-02-15 15:18 ` Arnaldo Carvalho de Melo
2017-02-15 15:25 ` Marcin Nowakowski
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.