Re: [PATCH 2/4] Core support for --combine -fwhole-program

Josh Triplett
2006-08-24T17:27:14Z

On Thu, 2006-08-24 at 16:26 +0100, David Woodhouse wrote:
> This patch adds a config option for COMBINE_COMPILE, adds the __global
> tag to compiler.h and makes EXPORT_SYMBOL automatically use it. It also
> contains a crappy Makefile hack which uses -fwhole-program --combine for
> all multi-obj .o files -- anything which was
> obj-m := foo.o
> foo-objs := bar.o wibble.o
> ... should now use gcc -o foo.o --combine -fwhole-program bar.c wibble.c
>
> The makefile hack is known not to work properly for generated C files in
> out-of-source-tree builds, and for multi-obj files where one of the
> sources is _assembly_ instead of C. It's good enough for the proof of
> concept, until someone more clueful can do it properly though. It would
> be useful to make built-in.o build with --combine from _everything_
> which uses standard CFLAGS, rather than doing just what I've done here.

Would the generation and use of preprocessed source files ($x.c -> $x.i)
help solve the "standard CFLAGS" problem here, and allow a subsequent
single compilation of the entire kernel (sans modules) with --combine
-fwhole-program?

- Josh Triplett