qemu-system-arm segfaults while servicing SYS_HEAPINFO

This bug has been copied automatically from: https://bugs.launchpad.net/qemu/+bug/1918302

I compiled QEMU version 5.2.0 from source on Ubuntu 18.04, and tried to
use it to run the attached bare-metal Arm hello-world image, using the
command line

qemu-system-arm -M microbit -semihosting -nographic -device
loader,file=hello.hex

The result was that qemu-system-arm itself died of a segfault. Compiling
it for debugging, the location of the segfault was in target/arm/arm-
semi.c, in the case handler for the semihosting call TARGET_SYS_HEAPINFO,
on line 1020 which assigns to 'rambase':

            const struct arm_boot_info *info = env->boot_info;
            target_ulong rambase = info->loader_start;

and the problem seems to be that 'info', aka env->boot_info, is NULL in
this context.
Assignee Loading
Time tracking Loading