On Wed, 9 Feb 2022 at 18:15, Alex Bennée <alex.ben...@linaro.org> wrote: > > > Peter Maydell <peter.mayd...@linaro.org> writes: > > > On Wed, 9 Feb 2022 at 17:26, Alex Bennée <alex.ben...@linaro.org> wrote: > >> It should be in this case because boot.S sets stack to be inside out > >> data segment. > > > > So what you mean is > > > > /* > > * boot.S put our stack somewhere inside the text segment of the > > * ELF file, and we know that SYS_HEAPINFO won't pick a range > > * that overlaps with part of a loaded ELF file. So the info > > * struct (on the stack) should not be inside the reported heap. > > */ > > > > ? > > Well the data segment (but not the bss).
Ah, yes, I missed the ".data" when I was scanning the file. (For a system binary it doesn't matter, because our ELF loader doesn't care whether the segment is marked read-only or read-write, it just loads it into RAM.) > So as long as the ELF loader > includes that in the calculation (which it should I think) then we are > ok. Should be OK -- the ELF loader creates a rom blob for every segment in the file, and then the SYS_HEAPINFO implementation will avoid them all. -- PMM