FreeBSD 6.3 と 7.0 のスレッドライブラリ(前置き)

Hello World もない C 言語のソースを書いてみる

#include

int main(void)
{
return 0;
}

a.c という名前でも付けて保存して、-lpthread をつけてコンパイルしてみる

# gcc -o a a.c -lpthread

# ldd a

a:
libthr.so.3 => /lib/libthr.so.3 (0x2807d000)
libc.so.7 => /lib/libc.so.7 (0x28090000)

# ll /usr/lib/libpthread.so
lrwxr-xr-x 1 root wheel 9 Oct 29 04:42 /usr/lib/libpthread.so -> libthr.so

# gcc -o a a.c -lpthread

# ldd a

a:
libpthread.so.2 => /lib/libpthread.so.2 (0x2807a000)
libc.so.6 => /lib/libc.so.6 (0x2809f000)

  • FreeBSD 6.3 では、libpthread.so と libthr.so は別物です

# ll /lib/libpthread.so.2

  • r--r--r-- 1 root wheel 140196 Sep 30 01:34 /lib/libpthread.so.2

# ll /usr/lib/libthr.so.2

  • r--r--r-- 1 root wheel 69844 Sep 30 01:34 /usr/lib/libthr.so.2