From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mmt9D-0000gQ-Hb for qemu-devel@nongnu.org; Sun, 13 Sep 2009 13:45:59 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mmt99-0000gC-Ap for qemu-devel@nongnu.org; Sun, 13 Sep 2009 13:45:59 -0400 Received: from [199.232.76.173] (port=51287 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mmt99-0000g9-5M for qemu-devel@nongnu.org; Sun, 13 Sep 2009 13:45:55 -0400 Received: from an-out-0708.google.com ([209.85.132.241]:1719) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mmt98-00086o-Ps for qemu-devel@nongnu.org; Sun, 13 Sep 2009 13:45:54 -0400 Received: by an-out-0708.google.com with SMTP id c38so836780ana.37 for ; Sun, 13 Sep 2009 10:45:53 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: Date: Sun, 13 Sep 2009 20:45:53 +0300 Message-ID: From: "Kirill A. Shutemov" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: Fix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel@nongnu.org On Sun, Sep 13, 2009 at 8:28 PM, Blue Swirl wrote: > On Sun, Sep 13, 2009 at 8:19 PM, Kirill A. Shutemov > wrote: >> On Sun, Sep 13, 2009 at 7:47 PM, Blue Swirl wrote= : >>> On Sun, Sep 13, 2009 at 7:39 PM, Kirill A. Shutemov >>> wrote: >>>> Could you provide more info about breakage? >>>> >>> >>> =C2=A0LINK =C2=A0i386-linux-user/qemu-i386 >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_fini': >>> (.text+0x4): undefined reference to `__fini_array_start' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_fini': >>> (.text+0x8): undefined reference to `__fini_array_end' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_fini': >>> (.text+0xc): undefined reference to `__fini_array_start' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_fini': >>> (.text+0x10): undefined reference to `__fini_array_end' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_init': >>> (.text+0x64): undefined reference to `__preinit_array_start' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_init': >>> (.text+0x68): undefined reference to `__preinit_array_end' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_init': >>> (.text+0x6c): undefined reference to `__preinit_array_start' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_init': >>> (.text+0x70): undefined reference to `__preinit_array_end' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_init': >>> (.text+0xc0): undefined reference to `__init_array_start' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_init': >>> (.text+0xc4): undefined reference to `__init_array_end' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_init': >>> (.text+0xc8): undefined reference to `__init_array_start' >>> /usr/lib/gcc/sparc-linux-gnu/4.3.2/../../../../lib/libc.a(elf-init.o): >>> In function `__libc_csu_init': >>> (.text+0xcc): undefined reference to `__init_array_end' >>> collect2: ld returned 1 exit status >>> make[1]: *** [qemu-i386] Error 1 >> >> Is it reproducible for all linux-user targets or only for i386? > > I think all of them. I did not run the compilation with make -k very > far until I fixed this but there were others. > >>> Using built-in specs. >>> Target: sparc-linux-gnu >>> Configured with: ../src/configure -v --with-pkgversion=3D'Debian >>> 4.3.2-1.1' --with-bugurl=3Dfile:///usr/share/doc/gcc-4.3/README.Bugs >>> --enable-languages=3Dc,c++,fortran,objc,obj-c++ --prefix=3D/usr >>> --enable-shared --with-system-zlib --libexecdir=3D/usr/lib >>> --without-included-gettext --enable-threads=3Dposix --enable-nls >>> --with-gxx-include-dir=3D/usr/include/c++/4.3 --program-suffix=3D-4.3 >>> --enable-clocale=3Dgnu --enable-libstdcxx-debug --enable-objc-gc >>> --enable-mpfr --with-cpu=3Dv8 --with-long-double-128 >>> --enable-checking=3Drelease --build=3Dsparc-linux-gnu >>> --host=3Dsparc-linux-gnu --target=3Dsparc-linux-gnu >>> Thread model: posix >>> gcc version 4.3.2 (Debian 4.3.2-1.1) >>> >> >> What is your version of glibc and bintuils? >> > > dpkg -s libc6|grep Version > Version: 2.7-18 > > dpkg -s binutils|grep Version > Version: 2.18.1~cvs20080103-7 > I guess, the problem is in sparc.ld. It lacks defining these symbols. Could you play with sparc.ld to fix the problem without ugly hacks?