From owner-freebsd-ports@FreeBSD.ORG Sat Feb 25 20:11:03 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6ADF71065670; Sat, 25 Feb 2012 20:11:03 +0000 (UTC) (envelope-from kabaev@gmail.com) Received: from mail-qw0-f54.google.com (mail-qw0-f54.google.com [209.85.216.54]) by mx1.freebsd.org (Postfix) with ESMTP id 01E838FC12; Sat, 25 Feb 2012 20:11:02 +0000 (UTC) Received: by qao25 with SMTP id 25so806536qao.13 for ; Sat, 25 Feb 2012 12:11:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer :mime-version:content-type; bh=gd5DRdbTQA7I6MnuuPKnCU010e2/hyOpdAEzkXsEtaU=; b=F5cUl1CSIpJW5xiMmL1efxVHUBWeOaDIHHr5D0OW3ciIa+jNIvpwLuvFbCJRgs/C08 1ukJP457ymCehn3lxqm51CveC3PA1IJS9S9odBVd6PyCkvBQZd/pvHHo09vcRHL35JaC C9QYPXDFHkJwZzxO1R06E2j9DkRjN/P2MICZU= Received: by 10.224.73.12 with SMTP id o12mr3431876qaj.98.1330200662141; Sat, 25 Feb 2012 12:11:02 -0800 (PST) Received: from kan.dyndns.org (c-24-63-226-98.hsd1.ma.comcast.net. [24.63.226.98]) by mx.google.com with ESMTPS id hp1sm22811755qab.22.2012.02.25.12.11.01 (version=SSLv3 cipher=OTHER); Sat, 25 Feb 2012 12:11:01 -0800 (PST) Date: Sat, 25 Feb 2012 15:10:54 -0500 From: Alexander Kabaev To: Tim Kientzle Message-ID: <20120225151054.710d06af@kan.dyndns.org> In-Reply-To: <39D1C607-E186-4819-A562-E51B0366057A@kientzle.com> References: <20120221182850.GA20768@troutmask.apl.washington.edu> <20120221185754.GL55074@deviant.kiev.zoral.com.ua> <20120221194259.GA21185@troutmask.apl.washington.edu> <4F440E8B.9020306@FreeBSD.org> <20120221220053.GA44386@night.db.net> <20120221223251.GA23053@troutmask.apl.washington.edu> <5C146DC6-264B-43A9-9234-9E03315F3D33@kientzle.com> <20120223121647.50ba7c6a@kan.dyndns.org> <39D1C607-E186-4819-A562-E51B0366057A@kientzle.com> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; amd64-portbld-freebsd10.0) Mime-Version: 1.0 Content-Type: multipart/signed; micalg=PGP-SHA1; boundary="Sig_/vSIsQP5ZMqJe/BW79+UTV6l"; protocol="application/pgp-signature" Cc: freebsd-current FreeBSD , freebsd-ports@freebsd.org Subject: Re: rtld or lang/gcc cannot find libgcc_s.so.1 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Feb 2012 20:11:03 -0000 --Sig_/vSIsQP5ZMqJe/BW79+UTV6l Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sat, 25 Feb 2012 10:41:59 -0800 Tim Kientzle wrote: >=20 > On Feb 23, 2012, at 9:16 AM, Alexander Kabaev wrote: >=20 > > On Tue, 21 Feb 2012 21:11:13 -0800 > > Tim Kientzle wrote: > >=20 > >>=20 > >> If I understand correctly, the libgcc in base is pretty stripped > >> down compared to "regular" libgcc, because most of that > >> stuff is in our libc instead.=20 > >>=20 > >=20 > > You understand it a bit wrong, but your conclusions are correct. > > libgcc in base is not stripped in any way and is supposed to be > > identical to one coming from upstream. >=20 > So where is __umodsi3 supposed to be defined for ARM? >=20 > In FreeBSD, libgcc refers to it but does not define it. > It's defined in libc. >=20 > I stumbled across this trying to link some freestanding > ARM code using the native cross-compilers. The link > failed if I used -nostdlib because of a handful of symbols > such as this. >=20 > Tim I do not know how embedded architectures split it these days and I am not even sure if we have an official ARM port in FSF GCC, but in general these belong in static portion of libgcc.a. If you'd look at bmake glue in gnu/lib/libgcc, you will see that building of __umodsi was there but was disabled by our arm folks presumably because of switch to our own complete softfloat implementation that happens to be in libc. They probably should not have disabled integer math stuff along with libgcc's incomplete floating point implementation, but I guess they had their reasons. Non-embedded architectures do not do that and for amd64/i386 each GCC import since 3. ensured that libgcc_s.so matched one produced by upstream symbol-by-symbol. --=20 Alexander Kabaev --Sig_/vSIsQP5ZMqJe/BW79+UTV6l Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iD8DBQFPSUBTQ6z1jMm+XZYRAtNqAKCHZJ8AYfHTz/9sRrT6h1qaSKXc6gCgzyha oQYTovXrxEGBozXkG8d54OA= =LKsJ -----END PGP SIGNATURE----- --Sig_/vSIsQP5ZMqJe/BW79+UTV6l--