qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1614348] Re: qemu-arm core dumped for no entry symbol


From: Peter Maydell
Subject: [Qemu-devel] [Bug 1614348] Re: qemu-arm core dumped for no entry symbol programe
Date: Tue, 07 Nov 2017 15:18:27 -0000

Why do you think this is a bug in QEMU? This program crashes on exit if
you run it on real arm hardware. This is unsurprising as you have told
the compiler to build it with no C runtime. The program thus starts at
the beginning of 'main', and when it hits the return at the end there is
nowhere for it to return to and it crashes. If you link the program with
the C runtime the way you are expected to, then the runtime gets control
at the start of execution and provides a place for main() to return to.
If you choose not to link against the C runtime then it is your
responsibility to provide an alternate runtime (including defining an
entry point) which implements the semantics that the main() function
expects.


** Changed in: qemu
       Status: New => Invalid

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1614348

Title:
  qemu-arm core dumped for no entry symbol programe

Status in QEMU:
  Invalid

Bug description:
  Hi qemu developers,

  Environment:
  * Fedora 24 x86_64
  * qemu-arm version 2.6.92, Copyright (c) 2003-2008 Fabrice Bellard
  * arm-linux-gnu-gcc 6.1.1 20160621 (Red Hat Cross 6.1.1-2) (GCC) target: 
arm-linux-gnueabi
  * glibc-arm-linux-gnu-devel-2.23

  very simple hello.c:

  #include <stdio.h>

  int main(int argc, char *argv[]) 
  {
      printf("Hello World\n");

      return 0;
  }

  arm-linux-gnu-gcc hello.c -I/usr/arm-linux-gnu/include -L/usr/arm-
  linux-gnu/lib -nostdlib -lc

  /usr/bin/arm-linux-gnu-ld: Warning: Cannot find entry symbol _start;
  defaulting to 00000000000101fc

  qemu-arm -L /usr/arm-linux-gnu ./a.out

  Hello World
  qemu: uncaught target signal 4 (Illegal instruction) - core dumped
  Illegal instruction

  But provided entry symbol:

  arm-linux-gnu-gcc hello.c -I/usr/arm-linux-gnu/include -L/usr/arm-
  linux-gnu/lib -nostdlib /usr/arm-linux-gnu/lib/crt1.o /usr/arm-linux-
  gnu/lib/crti.o /usr/arm-linux-gnu/lib/crtn.o -lc

  qemu-arm -L /usr/arm-linux-gnu ./a.out is able to work happily!

  Regards,
  Leslie Zhai

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1614348/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]