Date: Tue, 17 Apr 2001 16:35:41 +0200 From: Tor.Egge@fast.no To: mflaster@research.bell-labs.com Cc: ports@freebsd.org Subject: Re: FreeBSD Port: linuxthreads-2.1.3_2 Message-ID: <200104171435.QAA90670@midten.fast.no> In-Reply-To: Your message of "Mon, 09 Apr 2001 11:15:37 -0400" References: <3AD1D219.13C39F9B@research.bell-labs.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Hi, > > I was wondering if any work was being done on porting linuthreads 2.2.x > to FreeBSD? Also, is there some text somewhere which explains the > difference between 2.1.3_1 and 2.1.3_2? No. Some text was added to README.FreeBSD: c) The mutex wrapper functions only provide standard linuxthreads mutexes (i.e. non-recursive mutexes). This might lead to deadlocks if libc depends on recursive mutexes. 4) Be aware of the following libgcc issue: __register_frame_info() and __get_eh_info() from libgcc.a are linked into shared libraries that use exceptions, e.g. libstdc++. Those functions are not compatible with linuxthreads due to pthread_mutex_t and pthread_once_t having different sizes and static initializers. Linking the shared linuxthreads library before any such library causes the liblgcc_r.a version of those functions to be used. The commit message said: date: 2001/02/20 00:34:56; author: tegge; state: Exp; lines: +13 -0 Initialize attributes for new threads with default values when a NULL pthread_attr_t is provided as argument to pthread_create. liblgcc_r_pic.a no longer exists. Put the liblgcc_r.a version of __get_eh_info() and __register_frame_info() into the shared linuxthreads library to avoid using the incompatible libgcc.a version. Shared libraries that use exceptions still represent a problem if linked before the linuxthreads library. Compile liblgcc_r.a before the main linuxthreads library to provide the object files that contains __get_eh_info() and __register_frame_info(). Add minimal wrappers for native thread library functions used by 5.0-CURRENT libc. The wrappers try to call corresponding functions in the linuxthreads library after performing argument conversion. Some early versions of 2.1.3_2 still has problems with a bad reference to .cerror and fail to define __error(), this has later been fixed but the PORTVERSION variable in the main Makefile for the port has unfortunately not been bumped. - Tor Egge To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104171435.QAA90670>