On Tue, Mar 31, 2015 at 02:42:24PM -0400, Nicolas Pitre wrote: > On Tue, 31 Mar 2015, Dave Martin wrote: [...] > > We'd need to avoid pruning needed code that has no explicit caller, > > and functions that are part of the kernel/module ABI but not used > > within vmlinux. > > Those are usually located in special sections, like the initcall table, > the CPU entry table, etc. The linker allows for those sections to be > marked with KEEP() not to prune them. True. See what breaks, I guess. > > The GCC docs suggest that -ffunction-sections may impact performance > > and/or increase code size, but I don't know by how much. Maybe it > > interferes with inling. > > It doesn't interfere with inlining. However it impose a section > alignment on every function. That still can be overriden though. Also, I > suppose that gcc may not assume that calls to a global function that > happens to be located in the same C file will be close by anymore, > however I don't see this having any impact on ARM code generation. More veneers may be introduced during linking, and it's likely that cache/TLB locality would be affected, but I've no idea whether the impact would be significant. Cheers ---Dave -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html