Skip site navigation (1)Skip section navigation (2)
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>