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 Have you tried it with current cvs on Ubuntu 7.04? (qemu-i386 has never worked for me built on that.) Rob -- "One of my most productive days was throwing away 1000 lines of code." - Ken Thompson.