X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=dump.c;h=e99554628c9da5b6133ad0bc8530bf47bc088754;hb=6b7ac49d570c66754fad1b80cc200c7596d1facd;hp=ef1d8025c9dc0e2fc155545d3b033ac7304df132;hpb=7260438b7056469610ee166f7abe9ff8a26b8b16;p=mirror_qemu.git diff --git a/dump.c b/dump.c index ef1d8025c9..e99554628c 100644 --- a/dump.c +++ b/dump.c @@ -12,6 +12,7 @@ */ #include "qemu/osdep.h" +#include "qemu-common.h" #include "qemu/cutils.h" #include "elf.h" #include "cpu.h" @@ -192,7 +193,7 @@ static void write_elf64_load(DumpState *s, MemoryMapping *memory_mapping, phdr.p_paddr = cpu_to_dump64(s, memory_mapping->phys_addr); phdr.p_filesz = cpu_to_dump64(s, filesz); phdr.p_memsz = cpu_to_dump64(s, memory_mapping->length); - phdr.p_vaddr = cpu_to_dump64(s, memory_mapping->virt_addr); + phdr.p_vaddr = cpu_to_dump64(s, memory_mapping->virt_addr) ?: phdr.p_paddr; assert(memory_mapping->length >= filesz); @@ -216,7 +217,8 @@ static void write_elf32_load(DumpState *s, MemoryMapping *memory_mapping, phdr.p_paddr = cpu_to_dump32(s, memory_mapping->phys_addr); phdr.p_filesz = cpu_to_dump32(s, filesz); phdr.p_memsz = cpu_to_dump32(s, memory_mapping->length); - phdr.p_vaddr = cpu_to_dump32(s, memory_mapping->virt_addr); + phdr.p_vaddr = + cpu_to_dump32(s, memory_mapping->virt_addr) ?: phdr.p_paddr; assert(memory_mapping->length >= filesz);