From: Thayne Harbaugh <thayne@c2.net>
To: Rob Landley <rob@landley.net>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] qemu-i386 does not start on x86_64 or i686
Date: Thu, 25 Oct 2007 19:19:55 -0600 [thread overview]
Message-ID: <1193361595.5384.13.camel@phantasm.home.enterpriseandprosperity.com> (raw)
In-Reply-To: <200710251952.28503.rob@landley.net>
On Thu, 2007-10-25 at 19:52 -0500, Rob Landley wrote:
> On Monday 22 October 2007 8:44:59 am Thayne Harbaugh wrote:
> > On Thu, 2007-10-18 at 23:46 +0200, Ronan Keryell wrote:
> > > Anybody kind enough to have a look at :
> > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=446868
> > >
> > > I've asked some other people and they hit the same issue.
> > > It's not clear to me where the bug is since it happens very early in the
> > > starting process...
> >
> > I've been using this patch:
> >
> > Index: qemu/linux-user/main.c
> > ===================================================================
> > --- qemu.orig/linux-user/main.c 2007-10-15 13:52:13.000000000 -0600
> > +++ qemu/linux-user/main.c 2007-10-15 13:52:13.000000000 -0600
> > @@ -44,7 +44,7 @@
> >
> > /* for recent libc, we add these dummy symbols which are not declared
> > when generating a linked object (bug in ld ?) */
> > -#if (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) &&
> > !defined(CONFIG_STATIC) +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 3) &&
> > !defined(CONFIG_STATIC) long __preinit_array_start[0];
> > long __preinit_array_end[0];
> > long __init_array_start[0];
>
> When I tried it, it went:
>
> gcc-3.4 -Wall -O2 -g -fno-strict-aliasing -I. -I.. -I/home/landley/qemu/git/target-i386 -I/home/landley/qemu/git -I/home/landley/qemu/git/linux-user -I/home/landley/qemu/git/linux-user/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/landley/qemu/git/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/landley/qemu/git/slirp -c -o
> main.o /home/landley/qemu/git/linux-user/main.c
> gcc-3.4 -g -Wl,-shared -o qemu-i386 main.o syscall.o mmap.o signal.o path.o
> osdep.o thunk.o elfload.o linuxload.o vm86.o libqemu.a gdbstub.o -lm -lrt
> /usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
> (.text+0x2b): undefined reference to `__init_array_end'
> /usr/lib/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
> (.text+0x34): undefined reference to `__init_array_start'
> /usr/bin/ld: qemu-i386: hidden symbol `__init_array_end' isn't defined
> /usr/bin/ld: final link failed: Nonrepresentable section on output
> collect2: ld returned 1 exit status
> make[1]: *** [qemu-i386] Error 1
> make[1]: Leaving directory `/home/landley/qemu/git/i386-linux-user'
> make: *** [subdir-i386-linux-user] Error 2
Ick. There's some funky magic going on in qemu/x86_64.ld and the above
patch is a hack-around. The segfault is caused by preinit_array
function pointers (which are NULL) being dereferenced. This is a great
opportunity for you to put your super-sleuth skills to work and figure
out the details and fix it. 8^)
> Have you tried it with current cvs on Ubuntu 7.04? (qemu-i386 has never
> worked for me built on that.)
Sorry - I'm doing work on Debian Lenny.
next prev parent reply other threads:[~2007-10-26 1:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-18 21:46 [Qemu-devel] qemu-i386 does not start on x86_64 or i686 Ronan Keryell
2007-10-20 6:18 ` Rob Landley
2007-10-22 13:44 ` Thayne Harbaugh
2007-10-26 0:52 ` Rob Landley
2007-10-26 1:19 ` Thayne Harbaugh [this message]
2007-10-26 19:15 ` Rob Landley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1193361595.5384.13.camel@phantasm.home.enterpriseandprosperity.com \
--to=thayne@c2.net \
--cc=qemu-devel@nongnu.org \
--cc=rob@landley.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).