X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=boehm-gc%2Fthreadlibs.c;h=9078c8d8cd99f4e7bcf71a3d4990375a9ab9e9fd;hb=cd8960cc29aedf7e5489f382a04b4e892632a83a;hp=df4eb77bb1da64abd258061985371e7ba44227c8;hpb=9bc8642e1f366a35c305b9abe9e01bf934b584b9;p=pf3gnuchains%2Fgcc-fork.git diff --git a/boehm-gc/threadlibs.c b/boehm-gc/threadlibs.c index df4eb77bb1d..9078c8d8cd9 100644 --- a/boehm-gc/threadlibs.c +++ b/boehm-gc/threadlibs.c @@ -1,17 +1,44 @@ -# include "gcconfig.h" +# include "gc_config_macros.h" +# include "private/gcconfig.h" # include int main() { -# if defined(IRIX_THREADS) || defined(LINUX_THREADS) - printf("-lpthread\n"); +# if defined(GC_USE_LD_WRAP) + printf("-Wl,--wrap -Wl,dlopen " + "-Wl,--wrap -Wl,pthread_create -Wl,--wrap -Wl,pthread_join " + "-Wl,--wrap -Wl,pthread_detach " + "-Wl,--wrap -Wl,pthread_sigmask -Wl,--wrap -Wl,sleep\n"); # endif -# if defined(HPUX_THREADS) +# if defined(GC_LINUX_THREADS) || defined(GC_IRIX_THREADS) \ + || defined(GC_SOLARIS_PTHREADS) \ + || defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS) + printf("-lpthread\n"); +# endif +# if defined(GC_FREEBSD_THREADS) +# if (__FREEBSD_version >= 500000) + printf("-lpthread\n"); +# else + printf("-pthread\n"); +# endif +# endif +# if defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) printf("-lpthread -lrt\n"); # endif -# ifdef SOLARIS_THREADS +# if defined(GC_SOLARIS_THREADS) && !defined(GC_SOLARIS_PTHREADS) printf("-lthread -ldl\n"); # endif +# if defined(GC_WIN32_THREADS) && defined(CYGWIN32) + printf("-lpthread\n"); +# endif +# if defined(GC_OSF1_THREADS) + printf("-pthread -lrt"); /* DOB: must be -pthread, not -lpthread */ +# endif + /* You need GCC 3.0.3 to build this one! */ + /* DG/UX native gcc doesnt know what "-pthread" is */ +# if defined(GC_DGUX386_THREADS) + printf("-ldl -pthread\n"); +# endif return 0; }