Hi Tim, Tim, folks, Update on -ffunction-sections status: I re-tested linux-2.6.35-rc4 today. Most of work needed for -ffunction-sections -fdata-sections is already in this kernel. This mail explains what is still missing. In order to have a working kernel with this make invocation: make KCFLAGS="-ffunction-sections -fdata-sections" linux-2.6.35-rc4 needs three patches: * modpost fix for 64k+ sections: linux-2.6.35-rc4-fs.modpost.patch This patch is in -mm, it still not reach mainline... * fix for kernel linker stripts: linux-2.6.35-rc4-fs.fix-kernel-linker-scripts.patch It makes _all_ linker scripts -ffunction/data-sections safe via: - *(.data) + *(.data .data.*) * fix for module linker script: linux-2.6.35-rc4-fs.fix-ko-module-linker-script.patch Prevents kernel modules from having unnecessarily many sections and thus prevents module size growth. Then, in order to also garbage-collect the sections, I added LDFLAGS_vmlinux += --gc-sections in top-level Makefile. This requires the additional patch (linux-2.6.35-rc4-fsgs.patch) which adds KEEP(section) directives to kernel linker stripts. Otherwise, linker will discard some crucial sections. All four patches are attached. I am sending this email from the machine which runs the kernel built with -ffunction-sections -fdata-sections --gc-sections. -- vda