+ /* + * We keep init/exit bss sections here to have only one + * segment to load. Note that .bss.exit is also discarded + * at runtime for the same reason as above. + */ + .exit.bss : { + *(.bss.exit) + } This change would also require an audit of the bootloader or early kernel initialization code (whichever handles zeroing of .bss space) to make sure that it understands that the kernel will now have an extra block of memory that needs to be cleared. Perhaps nothing needs to be done if the code already handled the general case of loading an ELF binary with some sections that have an in-memory size bigger than the on-disk size. But worth looking at in case the code makes an assumption about what needs to be zeroed. -Tony