Skip to content
  • Fabien Chouteau's avatar
    Save memory allocation in the elf loader · d60fa42e
    Fabien Chouteau authored
    
    
    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: default avatarFabien Chouteau <chouteau@adacore.com>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    d60fa42e