[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a9rruv3x.fsf@sejong.aot.lge.com>
Date: Wed, 30 Jan 2013 13:56:34 +0900
From: Namhyung Kim <namhyung@...nel.org>
To: Borislav Petkov <bp@...en8.de>
Cc: Thomas Backlund <tmb@...eia.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Arnaldo Carvalho de Melo <acme@...hat.com>,
Jiri Olsa <jolsa@...hat.com>
Subject: Re: perf 3.8-rc build failure: undefined reference to `strlcpy'
On Wed, 30 Jan 2013 04:28:31 +0100, Borislav Petkov wrote:
> On Wed, Jan 30, 2013 at 11:15:55AM +0900, Namhyung Kim wrote:
>> Please see my reply on another post from Thomas:
>>
>> https://lkml.org/lkml/2013/1/29/32
>>
>> It's not like a build failure of perf tools, it's just a result of
>> feature test so should not affect the build of perf itself, right?
>
> Doh, I see it. It is the -DHAVE_STRLCPY test, of course. And it happens
> only with a V=1 build, so actually there's not a build problem.
>
>> Why it confuses us is that we don't show any compile message if -s
>> option is given to make, so I posted a patch to hide CHK and above
>> failure message when -s option is specified.
>
> Hm, trying your patch ontop of acme's perf/core still shows CHK stuff
>
> $ make -s tools/perf
> DESCEND perf
> CHK -fstack-protector-all
> CHK -Wstack-protector
> CHK -Wvolatile-register-var
> CHK bionic
> CHK libelf
> CHK libdw
> ...
>
>
> and that's because I'm doing the build from the toplevel repo and not in
> perf/. If I switch to perf first, it is silent:
>
> $ make -s
> Makefile:809: No bfd.h/libbfd found, install binutils-dev[el]/zlib-static to gain symbol demangling
> Makefile:846: No numa.h found, disables 'perf bench numa mem' benchmark, please install numa-libs-devel or libnuma-dev
> $
That's because the toplevel Makefile resets MAKEFLAGS in the middle:
Makefile:1330
# Clear a bunch of variables before executing the submake
tools/: FORCE
$(Q)mkdir -p $(objtree)/tools
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS= O=$(objtree) subdir=tools -C $(src)/tools/
tools/%: FORCE
$(Q)mkdir -p $(objtree)/tools
$(Q)$(MAKE) LDFLAGS= MAKEFLAGS= O=$(objtree) subdir=tools -C $(src)/tools/ $*
So why should it be reset in the first place?
>
> Oh, and one more thing, there's tools/scripts/Makefile.include which
> looks at -s already and perf/Makefile includes it so you probably want
> to put your change there so that all tools use it.
Are you suggesting that moving "try-cc" to the Makefile.include?
Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists