On Mon, 11 Feb 2008, Abel Bernabeu wrote:
In such a way that set_brk(0x0, 0x100) does not alloc any space at all. There are just more ways to get no memory allocation than set_brk(elf_bss, elf_bss) (the equalness condition i've changed).
Sorry, the correct description for the patch may be:
set_brk(start, end) allocs just page aligned regions (by "colapsing"
both extremes to the END of the page in which they lay)... That means
than even if both pointers are not equal there are still some chances
that set_brk has allocated no space at all because because
ELF_PAGEALIGN(elf_bss) == ELF_PAGEALIGN(elf_brk)
Now, the question is whether it is valid for ELF binary to not have the end of .bss section (if present at all) not page-aligned.