diff options
author | Alexander Ivchenko <alexander.ivchenko@intel.com> | 2014-08-12 11:06:44 +0000 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2014-08-12 11:06:44 +0000 |
commit | 7955b06580a73bd6ad0d744928ab4775e4723c78 (patch) | |
tree | 158a00fe3e709b3e54e467d019bdf2029d24f729 /libcilkrts/configure | |
parent | 5435176b314566bf4b8907d323619bc9c73076b3 (diff) | |
download | gcc-7955b06580a73bd6ad0d744928ab4775e4723c78.zip gcc-7955b06580a73bd6ad0d744928ab4775e4723c78.tar.gz gcc-7955b06580a73bd6ad0d744928ab4775e4723c78.tar.bz2 |
configure.ac: Move pthread affinity test to the place where '-pthread' passed to CFLAGS.
libcilkrts/
* configure.ac: Move pthread affinity test to the place where
'-pthread' passed to CFLAGS. Otherwise the test always fails.
(XCFLAGS): New variable for correctly passing
'-pthread'.
(XLDFLAGS): New variable for passing the correct pthread lib.
* configure: Regenerate.
* Makefile.am (AM_CFLAGS): Add $XCFLAGS.
(AM_LDFLAGS): Add $XLDFLAGS.
* Makefile.in: Regenerate.
From-SVN: r213854
Diffstat (limited to 'libcilkrts/configure')
-rw-r--r-- | libcilkrts/configure | 91 |
1 files changed, 57 insertions, 34 deletions
diff --git a/libcilkrts/configure b/libcilkrts/configure index 0dadbbd..1e8eabd 100644 --- a/libcilkrts/configure +++ b/libcilkrts/configure @@ -605,6 +605,8 @@ am__EXEEXT_TRUE LTLIBOBJS LIBOBJS link_cilkrts +XLDFLAGS +XCFLAGS lt_cv_dlopen_libs toolexeclibdir toolexecdir @@ -11057,7 +11059,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11060 "configure" +#line 11062 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11163,7 +11165,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11166 "configure" +#line 11168 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -14421,40 +14423,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Check for pthread_{,attr_}[sg]etaffinity_np. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _GNU_SOURCE - #include <pthread.h> -int -main () -{ -cpu_set_t cpuset; - pthread_attr_t attr; - pthread_getaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset); - if (CPU_ISSET (0, &cpuset)) - CPU_SET (1, &cpuset); - else - CPU_ZERO (&cpuset); - pthread_setaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset); - pthread_attr_init (&attr); - pthread_attr_getaffinity_np (&attr, sizeof (cpu_set_t), &cpuset); - pthread_attr_setaffinity_np (&attr, sizeof (cpu_set_t), &cpuset); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - -$as_echo "#define HAVE_PTHREAD_AFFINITY_NP 1" >>confdefs.h - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - # Check to see if -pthread or -lpthread is needed. Prefer the former. # Note that the CILK_SELF_SPEC in gcc.c may force -pthread. # In case the pthread.h system header is not found, this test will fail. +XCFLAGS="" +XLDFLAGS="" CFLAGS="$CFLAGS -pthread" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14469,7 +14442,7 @@ pthread_t t; pthread_create(&t,NULL,g,NULL); } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - + XCFLAGS=" -Wc,-pthread" else CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -14495,6 +14468,56 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext +# Check for pthread_{,attr_}[sg]etaffinity_np. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _GNU_SOURCE + #include <pthread.h> +int +main () +{ +cpu_set_t cpuset; + pthread_attr_t attr; + pthread_getaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset); + if (CPU_ISSET (0, &cpuset)) + CPU_SET (1, &cpuset); + else + CPU_ZERO (&cpuset); + pthread_setaffinity_np (pthread_self (), sizeof (cpu_set_t), &cpuset); + pthread_attr_init (&attr); + pthread_attr_getaffinity_np (&attr, sizeof (cpu_set_t), &cpuset); + pthread_attr_setaffinity_np (&attr, sizeof (cpu_set_t), &cpuset); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + +$as_echo "#define HAVE_PTHREAD_AFFINITY_NP 1" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +# Every c++ lib is linking by default with -nostdlib, which leads to the +# fact, that proper pthread library will not be given at link time. We have +# to hard-code that. +case "${target}" in + + *android*) + XLDFLAGS="$XLDFLAGS -lc" + ;; + *) + XLDFLAGS="$XLDFLAGS -lpthread" + ;; + +esac + + + + +CFLAGS="$save_CFLAGS" + if test $enable_shared = yes; then link_cilkrts="-lcilkrts %{static: $LIBS}" else |