Luck, Tony wrote: > + /* > + * 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) I think the kernel doesn't rely on the bootloader for clearing bss. > 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. > For MIPS case, there is normally no extra block of memory to clear. [__bss_start, __bss_stop] range still includes the whole memory block to clear. So there's no need to modify any other code. Franck