Re: [PATCH] perf auto-dep: Speed up feature tests by building them in parallel

From: Namhyung Kim
Date: Wed Oct 02 2013 - 02:05:24 EST


Hi Ingo,

On Mon, 30 Sep 2013 18:42:10 +0200, Ingo Molnar wrote:
> This series (with combo patch attached) implements (much) faster
> perf-tools feature-auto-detection.
>
> I used 3 tricks to implement feature auto-dependencies and to speed up
> feature detection:
>
> - standalone Makefile in config/feature-checks/ built in parallel
>
> - split-out standalone .c files in config/feature-checks/*.c
>
> - used GCC's auto-dependency generation feature (-MD) to track the
> effects of system library addition/removal.

I have a memory that this could lead to a nasty build failure. Please
see the commit b6f4f804108b ("tools lib traceevent: Do not generate
dependency for system header files").

The problem is that it turned out to depend on some compiler headers
which are located under some directory with a version number. If so,
when compiler upgraded to a new version, it cannot find the original
dependencies so fail to build.

$ cat config/feature-checks/test-libelf.d
test-libelf: test-libelf.c /usr/include/libelf.h /usr/include/sys/types.h \
/usr/include/features.h /usr/include/stdc-predef.h \
/usr/include/sys/cdefs.h /usr/include/bits/wordsize.h \
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
/usr/include/time.h \
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/include/stddef.h \
/usr/include/endian.h /usr/include/bits/endian.h \
/usr/include/bits/byteswap.h /usr/include/bits/byteswap-16.h \
/usr/include/sys/select.h /usr/include/bits/select.h \
/usr/include/bits/sigset.h /usr/include/bits/time.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/elf.h \
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/include/stdint.h \
/usr/include/stdint.h /usr/include/bits/wchar.h


In this case we are using this for feature-checking, so I guess it'd
fail to check the feature after upgrade.

Thanks,
Namhyung
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/