-pthread and shared libraries
    Hasso Tepper 
    hasso at estpak.ee
       
    Tue Jul 22 14:31:38 PDT 2008
    
    
  
While trying to find out why multimedia/gnash doesn't build in DragonFly I 
discovered the point why there is probably no problem in NetBSD. Note, 
that I don't say that this is the problem which must be fixed to get 
gnash to build etc, the problem itself is probably elsewhere.
The point is that using -pthread to link a shared library doesn't link it 
against libpthread.so, it just resolves symbols AFAICS. So far I thought 
that -pthread and -lpthread are equal in linking phase.
hasso at pos:~$ gcc -shared -o test.so test.c -pthread
hasso at pos:~$ ldd ./test.so
. /test.so:
        libc.so.6 => /usr/lib/libc.so.6 (0x28070000)
hasso at pos:~$ gcc -shared -o test.so test.c -lpthread
hasso at pos:~$ ldd ./test.so
. /test.so:
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x2812b000)
        libc.so.6 => /usr/lib/libc.so.6 (0x28070000)
hasso at pos:~$
What's the reason for that? Is it a historic and could be removed now to 
avoid confusion?
-- 
Hasso Tepper
    
    
More information about the Kernel
mailing list