A way to build and install libpthread as 1:1 as well as M:N?
Daniel Eischen
eischen at vigrid.com
Fri Aug 6 13:19:02 PDT 2004
On Mon, 19 Jul 2004, Robert Watson wrote:
> On Sun, 18 Jul 2004, Daniel Eischen wrote:
>
> > > The issue here is my keeping everything in sync and making sure testing is
> > > reproduceable. If I'm manually building and installing threading
> > > libraries, I'm likely to screw it up. I was hoping for a mechanism in
> > > buildworld/installworld so that it all happens automatically, reducing the
> > > chances of user error, stale library versions, etc.
> >
> > Well, like I said, if we can agree on a place to put the 1:1 version and
> > what to call it, we can make it happen. My suggestion is to keep the
> > libraries named the same, install them in different places, and use
> > LD_LIBRARY_PATH to switch between them.
> >
> > Should I just do it, or is more discussion needed?
>
> Other than the need for something like it, I don't have much opinion on
> the mechanism by which it's accomplished. I think that what you suggest
> sounds pretty reasonable to me. I'd be fine with a libpthread11, a
> lib/foo/libpthread, or whatever makes the most sense to you. I guess
> maybe I have a slight preference for libpthread11, but agree that the
> benefits of being able to use LD_LIBRARY_PATH are substantial and probably
> more important than the slight asthetic preference.
Well, it didn't add much to the library to allow either 1:1 or M:N.
Here's a patch that lets you run in 1:1 mode if LIBPTHREAD_SYSTEM_SCOPE
is defined in the environment. I'm not stuck on its name, so feel
free to suggest something else.
http://people.freebsd.org/~deischen/kse/libpthread.diffs
Warning (*), you can still force 1:1 mode if you build the library
with -DSYSTEM_SCOPE_ONLY, so be sure to remove this when rebuilding
libpthread.
(*) I think it's still useful for archs that don't run in M:N yet.
--
Dan Eischen
More information about the freebsd-threads
mailing list