From owner-freebsd-toolchain@FreeBSD.ORG Mon Nov 18 22:54:02 2013 Return-Path: Delivered-To: freebsd-toolchain@freebsd.org Received: from mandree.no-ip.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DDE4A706; Mon, 18 Nov 2013 22:54:01 +0000 (UTC) Received: from [IPv6:::1] (localhost6.localdomain6 [IPv6:::1]) by apollo.emma.line.org (Postfix) with ESMTP id B711623CE7C; Mon, 18 Nov 2013 23:54:00 +0100 (CET) Message-ID: <528A9A88.80904@FreeBSD.org> Date: Mon, 18 Nov 2013 23:54:00 +0100 From: Matthias Andree User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 MIME-Version: 1.0 To: Dimitry Andric Subject: Re: clang++ 3.3 issue (excessively slow compile vs. gcc 4.6 in just one file of a port) References: <528A8481.9010200@FreeBSD.org> <62194A12-1B41-48F6-8434-BA2181411020@FreeBSD.org> <528A93BF.3020707@FreeBSD.org> In-Reply-To: X-Enigmail-Version: 1.5.2 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="6njfJJk2QJsNTATh6a5XOh1ROofH6TrjW" Cc: freebsd-toolchain@freebsd.org X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Nov 2013 22:54:02 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --6njfJJk2QJsNTATh6a5XOh1ROofH6TrjW Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Am 18.11.2013 23:30, schrieb Dimitry Andric: > On 18 Nov 2013, at 23:25, Matthias Andree wrote: >> Am 18.11.2013 23:04, schrieb Dimitry Andric: >> >>> I will have a look at the port meanwhile, I hope it does not pull in = too >>> many dependencies? >> >> Thanks for the prompt response. Trying top-of-clang-tree will take me = a >> few days until I get around to it (is clang-devel good enough for a >> first attempt?) >=20 > Can you please run the ipsharpen.cc compilation command with -save-temp= s > added on your system, and then upload the resulting .ii file somewhere?= >=20 > That would save me the trouble of building most of GNOME, which it seem= s > to pull in... :) Uploaded. http://people.freebsd.org/~mandree/ has: : the xzipped .ii file (unpacked: 6.5 MB) : compiler command line (make VERBOSE=3D1 MAKE_JOBS_UNSAFE=3Dyes) and early warnings. It is still compiling, and these are the files in the working dir. work/rawtherapee-4.0.11/rtengine/ipsharpen.cc work/.build/rtengine/ipsharpen.ii work/.build/rtengine/ipsharpen.s-40cd6fd9 -O1, -Oz complete in c. 5 seconds, -Os require 5.6 s on my processor. -O2 has now spent more than 510 s I haven't dared -O3. I got: $ size work/.build/rtengine/CMakeFiles/rtengine.d text data bss dec hex filename 414247 16 168 414431 652df work/.build/rtengine/CMakeFiles/rtengine.dir/ipsharpen.cc.o and the .s file has also been xziped and uploaded to the URL above. (unpacked 3.5 MB). >> (Oh, and I wish we had more prominent error messages telling about an >> ABI mismatch between libc++ and libstdc++ than just the innocuous >> undefined references about - roughly - >> Glib::ustring::ustring(std::basic_string<> const &) - I needed to nm -= sC >> the glibmm-2.0.so to figure out it provided the std::_1:: namespace >> stuff for c++ and finally figure out the libraries were alright but th= ey >> were using the libc++ ABI rather than GCC's libstdc++.) >=20 > Most of the time, you will only find out at link time if you have mixed= > libstdc++ and libc++ STL containers... I'm not sure if there is a nice= r > way to bring bad news. :-) Glib shares the fate, because it defers to std:: containers where possibl= e. A nice way would require additional work and get the linkers to complain that symbols resolve with a different, incompatible ABI. That would, however, require second-guessing other ABIs and namespaces, and would hardly be portable -- or add ABI versions into the object files and .a and .so libraries, unless we already have ABI tags somewhere down deep in the ELF stuff. I never checked. --6njfJJk2QJsNTATh6a5XOh1ROofH6TrjW Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlKKmogACgkQvmGDOQUufZUXoACgsV6iN28PLYSZE395ejveqaQm 38gAn3KZgfHuOUNDOnnbxSVGTjKpFIbJ =x4Kn -----END PGP SIGNATURE----- --6njfJJk2QJsNTATh6a5XOh1ROofH6TrjW--