• F
    Save memory allocation in the elf loader · d60fa42e
    Fabien Chouteau 提交于
    The current elf loader uses too much memory. For example, I have a
    executable with a bss section of 400 MB and I set the ram size to 512
    MB. Qemu uses about 780MB of RAM (which is fine), but there's a peak at
    1.6 GB during initialization (this is not fine).
    
    This patch fixes two things:
     1) do not allocate each elf program twice.
     2) do not allocate memory for areas that are only zeros.
    
    For this we need a new field in Rom: "datasize" which is the size of the
    allocated data. If datasize is less than romsize, it means that the area
    from datasize to romsize is filled with zeros.
    Signed-off-by: NFabien Chouteau <chouteau@adacore.com>
    Signed-off-by: NAlexander Graf <agraf@suse.de>
    d60fa42e
loader.c 21.2 KB