Re: [PATCHv2 01/10] tools lib traceevent: Use LDFLAGS in the build commands

From: Arnaldo Carvalho de Melo
Date: Wed Nov 28 2018 - 08:56:48 EST


Em Thu, Nov 22, 2018 at 10:30:06AM +0100, Jiri Olsa escreveu:
> On Fri, Nov 16, 2018 at 02:01:58PM +0100, Jiri Olsa wrote:
> > On Wed, Oct 17, 2018 at 10:23:41AM -0400, Steven Rostedt wrote:
> > > On Tue, 16 Oct 2018 17:45:26 +0200
> > > Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> > >
> > > > On Tue, Oct 16, 2018 at 11:21:36AM -0400, Steven Rostedt wrote:
> > > > > On Tue, 16 Oct 2018 17:06:06 +0200
> > > > > Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> > > > >
> > > > > > So user could specify outside LDFLAGS values.
> > > > > >
> > > > > > Cc: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx>
> > > > > > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> > > > > > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> > > > > > ---
> > > > > > tools/lib/traceevent/Makefile | 4 ++--
> > > > > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > > > > >
> > > > > > diff --git a/tools/lib/traceevent/Makefile b/tools/lib/traceevent/Makefile
> > > > > > index 0b4e833088a4..e535073c94ce 100644
> > > > > > --- a/tools/lib/traceevent/Makefile
> > > > > > +++ b/tools/lib/traceevent/Makefile
> > > > > > @@ -174,7 +174,7 @@ $(TE_IN): force
> > > > > > $(Q)$(MAKE) $(build)=libtraceevent
> > > > > >
> > > > > > $(OUTPUT)libtraceevent.so.$(EVENT_PARSE_VERSION): $(TE_IN)
> > > > > > - $(QUIET_LINK)$(CC) --shared $^ -Wl,-soname,libtraceevent.so.$(EP_VERSION) -o $@
> > > > > > + $(QUIET_LINK)$(CC) --shared $(LDFLAGS) $^ -Wl,-soname,libtraceevent.so.$(EP_VERSION) -o $@
> > > > > > @ln -sf $(@F) $(OUTPUT)libtraceevent.so
> > > > > > @ln -sf $(@F) $(OUTPUT)libtraceevent.so.$(EP_VERSION)
> > > > > >
> > > > > > @@ -193,7 +193,7 @@ $(PLUGINS_IN): force
> > > > > > $(Q)$(MAKE) $(build)=$(plugin_obj)
> > > > > >
> > > > > > $(OUTPUT)%.so: $(OUTPUT)%-in.o
> > > > > > - $(QUIET_LINK)$(CC) $(CFLAGS) -shared -nostartfiles -o $@ $^
> > > > > > + $(QUIET_LINK)$(CC) -shared $(LDFLAGS) -nostartfiles -o $@ $^
> > > > >
> > > > >
> > > > > I'm guessing that the CFLAGS are not needed here, but shouldn't that
> > > > > also be mentioned in the change log?
> > > >
> > > > yep, sry.. v2 attached
> > > >
> > >
> > > Acked-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
> >
> > Arnaldo,
> > could you pull in this one?
>
> ping, thanks

9 11.28 android-ndk:r12b-arm : FAIL arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
10 15.53 android-ndk:r15c-arm : FAIL arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)

LD /tmp/build/perf/libtraceevent-in.o
MKDIR /tmp/build/perf/util/
LINK /tmp/build/perf/libtraceevent.a
CC /tmp/build/perf/util/block-range.o
MKDIR /tmp/build/perf/arch/
CC /tmp/build/perf/arch/common.o
LD /tmp/build/perf/plugin_mac80211-in.o
CC /tmp/build/perf/plugin_sched_switch.o
LD /tmp/build/perf/plugin_sched_switch-in.o
CC /tmp/build/perf/plugin_function.o
LD /tmp/build/perf/plugin_function-in.o
CC /tmp/build/perf/plugin_xen.o
MKDIR /tmp/build/perf/arch/arm/util/
CC /tmp/build/perf/arch/arm/util/pmu.o
LD /tmp/build/perf/plugin_xen-in.o
CC /tmp/build/perf/plugin_scsi.o
CC /tmp/build/perf/plugin_cfg80211.o
LD /tmp/build/perf/plugin_scsi-in.o
LD /tmp/build/perf/plugin_cfg80211-in.o
MKDIR /tmp/build/perf/arch/arm/util/
CC /tmp/build/perf/arch/arm/util/auxtrace.o
CC /tmp/build/perf/arch/arm/util/cs-etm.o
LINK /tmp/build/perf/plugin_jbd2.so
/opt/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc
/opt/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl
collect2: error: ld returned 1 exit status
Makefile:196: recipe for target '/tmp/build/perf/plugin_jbd2.so' failed
make[3]: *** [/tmp/build/perf/plugin_jbd2.so] Error 1
Makefile.perf:669: recipe for target 'libtraceevent_plugins' failed
make[2]: *** [libtraceevent_plugins] Error 2
make[2]: *** Waiting for unfinished jobs....


[root@seventh fedora]# cat /tmp/dm.log*/android*12*
android-ndk:r12b-arm
Downloading http://192.168.86.9/perf/perf-4.20.0-rc3.tar.xz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1423k 100 1423k 0 0 71.4M 0 --:--:-- --:--:-- --:--:-- 77.2M
e1326b0cc430443c4560ff3079c8c10159743ae5
Using built-in specs.
COLLECT_GCC=/opt/android-ndk-r12b//toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
COLLECT_LTO_WRAPPER=/opt/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.9.x/lto-wrapper
Target: arm-linux-androideabi
Configured with: /usr/local/google/buildbot/src/android/gcc/toolchain/build/../gcc/gcc-4.9/configure --prefix=/tmp/59719db9ae19ff43aef46bbcb79596b6 --target=arm-linux-androideabi --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/buildbot/tmp/build/toolchain/temp-install --with-mpfr=/buildbot/tmp/build/toolchain/temp-install --with-mpc=/buildbot/tmp/build/toolchain/temp-install --with-cloog=/buildbot/tmp/build/toolchain/temp-install --with-isl=/buildbot/tmp/build/toolchain/temp-install --with-ppl=/buildbot/tmp/build/toolchain/temp-install --disable-ppl-version-check --disable-cloog-version-check --disable-isl-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-bionic-libs --enable-libatomic-ifuncs=no --enable-initfini-array --disable-nls --prefix=/tmp/59719db9ae19ff43aef46bbcb79596b6 --with-sysroot=/tmp/59719db9ae19ff43aef46bbcb79596b6/sysroot --with-binutils-version=2.25 --with-mpfr-version=3.1.1 --with-mpc-version=1.0.1 --with-gmp-version=5.0.5 --with-gcc-version=4.9 --with-gdb-version=none --with-gxx-include-dir=/tmp/59719db9ae19ff43aef46bbcb79596b6/include/c++/4.9.x --with-bugurl=http://source.android.com/source/report-bugs.html --enable-languages=c,c++ --disable-bootstrap --enable-plugins --enable-libgomp --enable-gnu-indirect-function --disable-libsanitizer --enable-gold --enable-threads --enable-eh-frame-hdr-for-static --enable-graphite=yes --with-isl-version=0.11.1 --with-cloog-version=0.18.0 --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default
Thread model: posix
gcc version 4.9.x 20150123 (prerelease) (GCC)
make: Entering directory '/git/linux/tools/perf'

Without it, so far:

1 59.08 alpine:3.4 : Ok gcc (Alpine 5.3.0) 5.3.0
2 68.75 alpine:3.5 : Ok gcc (Alpine 6.2.1) 6.2.1 20160822
3 79.67 alpine:3.6 : Ok gcc (Alpine 6.3.0) 6.3.0
4 48.69 alpine:3.7 : Ok gcc (Alpine 6.4.0) 6.4.0
5 46.89 alpine:3.8 : Ok gcc (Alpine 6.4.0) 6.4.0
6 46.46 alpine:edge : Ok gcc (Alpine 6.4.0) 6.4.0
7 38.46 amazonlinux:1 : Ok gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
8 44.69 amazonlinux:2 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
9 41.88 android-ndk:r12b-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
10 46.24 android-ndk:r15c-arm : Ok arm-linux-androideabi-gcc (GCC) 4.9.x 20150123 (prerelease)
11 22.22 centos:5 : Ok gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
12 35.54 centos:6 : Ok gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)

- Arnaldo