Linking with -shared and -pthread...

Joshua Oreman oremanj at get-linux.org
Sun Aug 31 12:19:29 PDT 2003


On Sun, Aug 31, 2003 at 08:13:03PM +0100 or thereabouts, Peter Wood wrote:
> Good Evening,
> 
> I've been looking at writing a program that uses both shared libraries
> (dlopen/dlclose) and POSIX threads. I however haven't had any success in my
> simple tests.
> 
> After doing some research via google I found that due to -shared pthreads
> wasn't linked into the shared library, fair enough, it's logical.
> 
> My question is, is it possible to write programs that use pthreads in their
> shared libraries on FreeBSD.
> 
> For compiling the base program (that is the program that loads the shared
> libraries) I've been using:
> 
> gcc -export-dynamic -pthread master.c -o master

I use something like
gcc -Wl,-export-dynamic master.c -o master -lc_r

> 
> And for each of the shared libaries I've been using:
> 
> gcc -shared -pthread slave.c -o slave.so

I use
gcc -shared -fPIC -DPIC slave.c -o slave.so

The pthread functions from `master' will automatically be exported to `slave'.

-- Josh


More information about the freebsd-hackers mailing list