This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [libitm] Link with -litm and -pthread
> It broke all targets that don't implement threads and as such
> don't support -pthread. And you need to gate *all* tm-related
> tests on something like check_effective_target_pthread.
The question is, how is libitm supposed to work on these systems? The
configure.ac file contains:
# Check to see if -pthread or -lpthread is needed. Prefer the former.
# In case the pthread.h system header is not found, this test will fail.
XPCFLAGS=""
CFLAGS="$CFLAGS -pthread"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <pthread.h>
void *g(void *d) { return NULL; }],
[pthread_t t; pthread_create(&t,NULL,g,NULL);])],
[XPCFLAGS=" -Wc,-pthread"],
[CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[#include <pthread.h>
void *g(void *d) { return NULL; }],
[pthread_t t; pthread_create(&t,NULL,g,NULL);])],
[],
[AC_MSG_ERROR([Pthreads are required to build libitm])])])
> Can't you just limit adding -pthread to Solaris 8 or something?
I didn't invent anything here, this is exactly how -fopenmp/libgomp works.
Just define GTM_SELF_SPECS to "" like Darwin and Windows.
--
Eric Botcazou