On Wed, 2015-02-04 at 16:25 +0000, Russell King - ARM Linux wrote: > I haven't experimented with it myself, but I think David Woodhouse > has some experience in this area. In many kernel configurations there are actually quite a lot of functions that are never called, and I was quite surprised the first time I played with this stuff. There are a few ways of dealing with it. One is to use -ffunction-section -fdata-sections --gc-sections as you noted. I once also played with using GCC's --combine during the brief period that it was supported and not *entirely* broken, with similar effects: https://lwn.net/Articles/197097/ These days, the better answer is probably LTO. We could potentially still look at --gc-sections, but I suspect we're better off using LTO and just filing toolchain bugs until everything that --gc-sections *would* have dropped is also dropped from the LTO build :) Unless --gc-sections actually speeds up the build in a significant way; a full LTO link of the kernel takes insane amounts of memory IIRC. -- David Woodhouse Open Source Technology Centre David.Woodhouse@xxxxxxxxx Intel Corporation
Attachment:
smime.p7s
Description: S/MIME cryptographic signature