mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Marcin Nowakowski <marcin.nowakowski@imgtec.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] tools/lib/api: allow the linker to be overridden
Date: Wed, 15 Feb 2017 16:25:17 +0100	[thread overview]
Message-ID: <31b37fa7-42db-a863-7fa8-92f1396fcb38@imgtec.com> (raw)
In-Reply-To: <20170215151833.GA2196@redhat.com>

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

      reply	other threads:[~2017-02-15 15:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-15 14:56 Marcin Nowakowski
2017-02-15 15:18 ` Arnaldo Carvalho de Melo
2017-02-15 15:25   ` Marcin Nowakowski [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=31b37fa7-42db-a863-7fa8-92f1396fcb38@imgtec.com \
    --to=marcin.nowakowski@imgtec.com \
    --cc=acme@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®