From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MmuDo-0003pB-UT for qemu-devel@nongnu.org; Sun, 13 Sep 2009 14:54:48 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MmuDj-0003ma-9b for qemu-devel@nongnu.org; Sun, 13 Sep 2009 14:54:47 -0400 Received: from [199.232.76.173] (port=42785 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MmuDj-0003mX-5m for qemu-devel@nongnu.org; Sun, 13 Sep 2009 14:54:43 -0400 Received: from an-out-0708.google.com ([209.85.132.251]:27070) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MmuDi-00012v-Ob for qemu-devel@nongnu.org; Sun, 13 Sep 2009 14:54:42 -0400 Received: by an-out-0708.google.com with SMTP id c38so845825ana.37 for ; Sun, 13 Sep 2009 11:54:42 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: Date: Sun, 13 Sep 2009 21:54:41 +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 9:31 PM, Blue Swirl wrote: > On Sun, Sep 13, 2009 at 8:45 PM, Kirill A. Shutemov > wrote: >> 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 wro= te: >>>>> 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? >> > > I see. The attached patch fixes the problem. > Acked-by: Kirill A. Shutemov