From owner-freebsd-current@FreeBSD.ORG Sat Jun 26 02:55:35 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 81E4816A590; Sat, 26 Jun 2004 02:55:35 +0000 (GMT) Received: from creme-brulee.marcuscom.com (rrcs-midsouth-24-172-16-118.biz.rr.com [24.172.16.118]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E3C743D41; Sat, 26 Jun 2004 02:55:34 +0000 (GMT) (envelope-from marcus@marcuscom.com) Received: from [192.168.1.4] (shumai.marcuscom.com [192.168.1.4]) i5Q2sGJf023357; Fri, 25 Jun 2004 22:54:16 -0400 (EDT) (envelope-from marcus@marcuscom.com) From: Joe Marcus Clarke To: John Merryweather Cooper In-Reply-To: <20040626010822.GB20786@borgdemon.losaca.adelphia.net> References: <20040625204444.GA50921@borgdemon.losaca.adelphia.net> <1088197748.842.1.camel@gyros> <20040626010822.GB20786@borgdemon.losaca.adelphia.net> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-qouGyFPp5UVo5ZCc6LFc" Organization: MarcusCom, Inc. Message-Id: <1088218523.17696.2.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Fri, 25 Jun 2004 22:55:23 -0400 X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham version=2.63 X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on creme-brulee.marcuscom.com cc: freebsd-current@freebsd.org cc: freebsd-gnome@freebsd.org Subject: Re: Does -CURRENT's gcc generate ___tls_get_addr under any circumstances X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Jun 2004 02:55:35 -0000 --=-qouGyFPp5UVo5ZCc6LFc Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Fri, 2004-06-25 at 21:08, John Merryweather Cooper wrote: > On Fri, Jun 25, 2004 at 05:09:08PM -0400, Joe Marcus Clarke wrote: > > On Fri, 2004-06-25 at 16:44, John Merryweather Cooper wrote: > > > I'm working on porting (and getting fully working) lang/mono > > > version 0.96, and I'm having a problem. In one of my object > > > files--mini.lo--I'm getting an extern reference to > > > ___tls_get_addr. I've been over the source code in mini.c > > > and all the included headers, and I can't find anything to > > > get rid of this reference or find a way to resolve it. As > > > a result, the linking of the mono runtime binary fails with > > > this symbol unresolved. > > >=20 > > > Any and all clues are welcome! > >=20 > > As I recall, this is from boehm. You'll have to tell boehm not to do > > thread-local storage. Note: boehm is in the libgc subdirectory inside > > mono. > >=20 > > Joe > >=20 > > >=20 > > > jmc > > > _______________________________________________ > > > freebsd-gnome@freebsd.org mailing list > > > http://lists.freebsd.org/mailman/listinfo/freebsd-gnome > > > To unsubscribe, send any mail to "freebsd-gnome-unsubscribe@freebsd.o= rg" > > --=20 > > PGP Key : http://www.marcuscom.com/pgp.asc > >=20 > >=20 >=20 > Hmmm . . . >=20 > Well, looking at the libgc code, I note that if it detects GCC 3.x it use= s > pthreads for thread local storage. The configure script doesn't provide > a means to turn off tls. >=20 > Just to be sure, I undefined USE_COMPILER_TLS on the command line with=20 > -UUSE_COMPILER_TLS. I think you have to remove this from libgc's configure script. You should be able to do a case statement, and match on freebsd. >=20 > No dice, ___tls_get_addr still shows up in the mini.lo object which gets = linked > into libmono.so which causes mono to fail to link with an undefined > symbol (see attached build script). >=20 > I've checked all the objects in libgc, and none of them are defining > this symbol. It seems prettly clear that it comes into existance > during the compile of mini.c (it's in mini.lo), but I can't for the > life of me find were it is in mini.c or in it's includes. I saw this, too, when I was testing an earlier version of mono. I had actually enabled some additional options thinking they would help, but it turned out to be a bad idea. See if you can hunt down the TLS options in libgc's configure, and remove them. Joe >=20 > jmc --=20 PGP Key : http://www.marcuscom.com/pgp.asc --=-qouGyFPp5UVo5ZCc6LFc Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQBA3OWbb2iPiv4Uz4cRAiZ5AKCK4et1o+/T2Nd04tioCd9bHVYJBgCeLulq PzRZ4orAkxQYAIYwR4+5ncE= =6Elp -----END PGP SIGNATURE----- --=-qouGyFPp5UVo5ZCc6LFc--