From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MmtrY-0006gu-JR for qemu-devel@nongnu.org; Sun, 13 Sep 2009 14:31:48 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MmtrU-0006gV-0E for qemu-devel@nongnu.org; Sun, 13 Sep 2009 14:31:48 -0400 Received: from [199.232.76.173] (port=40759 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MmtrT-0006gS-Qq for qemu-devel@nongnu.org; Sun, 13 Sep 2009 14:31:43 -0400 Received: from mail-ew0-f221.google.com ([209.85.219.221]:36274) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MmtrT-0006kI-A4 for qemu-devel@nongnu.org; Sun, 13 Sep 2009 14:31:43 -0400 Received: by ewy21 with SMTP id 21so2256046ewy.8 for ; Sun, 13 Sep 2009 11:31:42 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: From: Blue Swirl Date: Sun, 13 Sep 2009 21:31:22 +0300 Message-ID: Content-Type: multipart/mixed; boundary=00504502d372ba9c56047379c2f8 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: "Kirill A. Shutemov" Cc: qemu-devel@nongnu.org --00504502d372ba9c56047379c2f8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 wrot= e: >>>> 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. --00504502d372ba9c56047379c2f8 Content-Type: application/mbox; name="0001-Fix-sparc.ld.patch" Content-Disposition: attachment; filename="0001-Fix-sparc.ld.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fzk49sxz0 RnJvbSA5ZTZmMWI0MDMwNmEyYWVjODZkNGJlOGNhMzNmZjRjOGEyMzZkMTEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCbHVlIFN3aXJsIDxibGF1d2lyYmVsQGdtYWlsLmNvbT4KRGF0 ZTogU3VuLCAxMyBTZXAgMjAwOSAxODoyNDo1NCArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIEZpeCBz cGFyYy5sZAoKTWFrZXMgOTFiNDBjNWJlODRhNDc4ZTk4YzA0MTYzMjU4NDRhN2Y2NmQwZWZhZSB1 bm5lY2Vzc2FyeS4KClNpZ25lZC1vZmYtYnk6IEJsdWUgU3dpcmwgPGJsYXV3aXJiZWxAZ21haWwu Y29tPgotLS0KIHNwYXJjLmxkIHwgICAyMCArKysrKysrKysrKysrKysrKysrKwogMSBmaWxlcyBj aGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Nw YXJjLmxkIGIvc3BhcmMubGQKaW5kZXggNWFlZDFjMi4uMzEzMjFiZSAxMDA2NDQKLS0tIGEvc3Bh cmMubGQKKysrIGIvc3BhcmMubGQKQEAgLTY1LDYgKzY1LDI2IEBAIFNFQ1RJT05TCiAgIC5kYXRh MSAgIDogeyAqKC5kYXRhMSkgfQogICAudGRhdGEgICAgOiB7ICooLnRkYXRhKSB9CiAgIC50YnNz ICAgIDogeyAqKC50YnNzKSB9CisgIC5wcmVpbml0X2FycmF5ICAgICA6CisgIHsKKyAgICBQUk9W SURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X3N0YXJ0ID0gLik7CisgICAgS0VFUCAoKigucHJl aW5pdF9hcnJheSkpCisgICAgUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9lbmQgPSAu KTsKKyAgfQorICAuaW5pdF9hcnJheSAgICAgOgorICB7CisgICAgIFBST1ZJREVfSElEREVOIChf X2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICAgS0VFUCAoKihTT1JUKC5pbml0X2FycmF5Liop KSkKKyAgICAgS0VFUCAoKiguaW5pdF9hcnJheSkpCisgICAgIFBST1ZJREVfSElEREVOIChfX2lu aXRfYXJyYXlfZW5kID0gLik7CisgIH0KKyAgLmZpbmlfYXJyYXkgICAgIDoKKyAgeworICAgIFBS T1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKyAgICBLRUVQICgqKC5maW5p X2FycmF5KSkKKyAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorICAgIFBST1ZJREVf SElEREVOIChfX2ZpbmlfYXJyYXlfZW5kID0gLik7CisgIH0KICAgLmN0b3JzICAgICAgICAgOgog ICB7CiAgICAgKiguY3RvcnMpCi0tIAoxLjUuNi41Cgo= --00504502d372ba9c56047379c2f8--