Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Feb 2012 15:10:54 -0500
From:      Alexander Kabaev <kabaev@gmail.com>
To:        Tim Kientzle <tim@kientzle.com>
Cc:        freebsd-current FreeBSD <freebsd-current@freebsd.org>, freebsd-ports@freebsd.org
Subject:   Re: rtld or lang/gcc cannot find libgcc_s.so.1
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> <Pine.GSO.4.64.1202211831220.22739@sea.ntplx.net> <5C146DC6-264B-43A9-9234-9E03315F3D33@kientzle.com> <20120223121647.50ba7c6a@kan.dyndns.org> <39D1C607-E186-4819-A562-E51B0366057A@kientzle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--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 <tim@kientzle.com> 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 <tim@kientzle.com> 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.<something> 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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120225151054.710d06af>