gcc/boehm-gc/threadlibs.c
Samuel Thibault b260c71fa5 configure.ac: Add stanza for *-*-gnu* threads configuration.
boehm-gc/
	* configure.ac: Add stanza for *-*-gnu* threads configuration.
	* configure: Regenerate.
	* include/gc_config.h.in: Likewise.
	* dyn_load.c (_GNU_SOURCE): Define for __GNU__.
	* include/gc_config_macros.h (_REENTRANT, GC_PTHREADS): Define for
	GC_GNU_THREADS.
	* include/private/gcconfig.h (DATASTART): Don't define for I386 &&
	HURD.
	(SIG_SUSPEND, SIG_THR_RESTART, SEARCH_FOR_DATA_START): Define for
	I386 && HURD.
	(UNIX_LIKE, REGISTER_LIBRARIES_EARLY): Define for HURD.
	* os_dep.c (GC_init_linux_data_start): Handle for HURD.
	* pthread_support.c (GC_thr_init): Add case for GC_GNU_THREADS.
	* specific.c: Use for GC_GNU_THREADS.
	* threadlibs.c: Add case for GC_GNU_THREADS.

From-SVN: r193142
2012-11-04 23:56:02 +01:00

46 lines
1.4 KiB
C

# include "gc_config_macros.h"
# include "private/gcconfig.h"
# include <stdio.h>
int main()
{
# 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(GC_LINUX_THREADS) || defined(GC_IRIX_THREADS) \
|| defined(GC_SOLARIS_PTHREADS) \
|| defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS) \
|| defined(GC_GNU_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
# 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;
}