[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1156496116.2984.14.camel@pmac.infradead.org>
Date: Fri, 25 Aug 2006 09:55:16 +0100
From: David Woodhouse <dwmw2@...radead.org>
To: Jan Engelhardt <jengelh@...ux01.gwdg.de>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/4] Compile kernel with -fwhole-program --combine
On Fri, 2006-08-25 at 08:01 +0200, Jan Engelhardt wrote:
> >> Compiling files on their own (`make drivers/foo/bar.o`) seems to make
> >> the optimization void. Sure, most people don't stop compiling in
> >> between. Just a note
> >
> >Actually I'm not entirely sure what you write is true. It'll _build_
> >fs/jffs2/read.o, for example, but it still won't then use it when I make
> >the kernel -- it'll just use fs/jffs2/jffs2.o which is built from all
> >the C files with --combine. So the optimisation isn't lost.
>
> Umm then it spends double the time in compilation, doing:
>
> read.o <- read.c
> foo.o <- foo.c
> bar.o <- bar.c
> built-in.o <- read.c foo.c bar.c
Only if you invoke make explicitly for read.o, foo.o and bar.o. If you
just type 'make' then it won't build those.
> >So to overcome this, we use GCC's __attribute__((externally_visible))
> >which, as documented, just makes it global again -- undoing the effect
> >of -fwhole-program just for this _one_ symbol.
>
> Interesting. __attribute__((visibility("default"))) does the same?
That much you can test for yourself without a fixed compiler. No, it
doesn't.
--
dwmw2
-
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