diff options
Diffstat (limited to 'gcc-4.8')
-rw-r--r-- | gcc-4.8/gcc/config/arm/linux-eabi.h | 2 | ||||
-rw-r--r-- | gcc-4.8/gcc/config/gnu-user.h | 10 | ||||
-rw-r--r-- | gcc-4.8/gcc/config/i386/linux-common.h | 2 | ||||
-rw-r--r-- | gcc-4.8/gcc/config/linux-android.h | 3 | ||||
-rw-r--r-- | gcc-4.8/gcc/config/mips/linux-common.h | 2 | ||||
-rwxr-xr-x | gcc-4.8/libgomp/configure | 52 | ||||
-rw-r--r-- | gcc-4.8/libgomp/configure.ac | 9 | ||||
-rw-r--r-- | gcc-4.8/libgomp/env.c | 1 |
8 files changed, 72 insertions, 9 deletions
diff --git a/gcc-4.8/gcc/config/arm/linux-eabi.h b/gcc-4.8/gcc/config/arm/linux-eabi.h index 305d7cb34..adea4909e 100644 --- a/gcc-4.8/gcc/config/arm/linux-eabi.h +++ b/gcc-4.8/gcc/config/arm/linux-eabi.h @@ -100,7 +100,7 @@ #undef LIB_SPEC #define LIB_SPEC \ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ - GNU_USER_TARGET_LIB_SPEC " " ANDROID_LIB_SPEC) + GNU_USER_TARGET_LIB_SPEC_LESS_PTHREAD " " ANDROID_LIB_SPEC) #undef STARTFILE_SPEC #define STARTFILE_SPEC \ diff --git a/gcc-4.8/gcc/config/gnu-user.h b/gcc-4.8/gcc/config/gnu-user.h index bcdf0e6cc..a924fce15 100644 --- a/gcc-4.8/gcc/config/gnu-user.h +++ b/gcc-4.8/gcc/config/gnu-user.h @@ -73,10 +73,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see #undef CPLUSPLUS_CPP_SPEC #define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)" -#define GNU_USER_TARGET_LIB_SPEC \ - "%{pthread:-lpthread} \ - %{shared:-lc} \ +#define GNU_USER_TARGET_LIB_SPEC_LESS_PTHREAD \ + "%{shared:-lc} \ %{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}" + +#define GNU_USER_TARGET_LIB_SPEC \ + "%{pthread:-lpthread} "\ + GNU_USER_TARGET_LIB_SPEC_LESS_PTHREAD + #undef LIB_SPEC #define LIB_SPEC GNU_USER_TARGET_LIB_SPEC diff --git a/gcc-4.8/gcc/config/i386/linux-common.h b/gcc-4.8/gcc/config/i386/linux-common.h index 731a5bd0f..51e25b427 100644 --- a/gcc-4.8/gcc/config/i386/linux-common.h +++ b/gcc-4.8/gcc/config/i386/linux-common.h @@ -47,7 +47,7 @@ along with GCC; see the file COPYING3. If not see #undef LIB_SPEC #define LIB_SPEC \ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ - GNU_USER_TARGET_LIB_SPEC " " ANDROID_LIB_SPEC) + GNU_USER_TARGET_LIB_SPEC_LESS_PTHREAD " " ANDROID_LIB_SPEC) #undef STARTFILE_SPEC #define STARTFILE_SPEC \ diff --git a/gcc-4.8/gcc/config/linux-android.h b/gcc-4.8/gcc/config/linux-android.h index a82c3f067..87957e338 100644 --- a/gcc-4.8/gcc/config/linux-android.h +++ b/gcc-4.8/gcc/config/linux-android.h @@ -52,7 +52,8 @@ "--noexecstack" #define ANDROID_LIB_SPEC \ - "%{!static: -ldl}" + "%{!static: -ldl} \ + %{pthread: -lc}" #define ANDROID_STARTFILE_SPEC \ "%{shared: crtbegin_so%O%s;:" \ diff --git a/gcc-4.8/gcc/config/mips/linux-common.h b/gcc-4.8/gcc/config/mips/linux-common.h index a8965b760..8b9e4b00b 100644 --- a/gcc-4.8/gcc/config/mips/linux-common.h +++ b/gcc-4.8/gcc/config/mips/linux-common.h @@ -44,7 +44,7 @@ along with GCC; see the file COPYING3. If not see #undef LIB_SPEC #define LIB_SPEC \ LINUX_OR_ANDROID_LD (GNU_USER_TARGET_LIB_SPEC, \ - GNU_USER_TARGET_LIB_SPEC " " ANDROID_LIB_SPEC) + GNU_USER_TARGET_LIB_SPEC_LESS_PTHREAD " " ANDROID_LIB_SPEC) #undef STARTFILE_SPEC #define STARTFILE_SPEC \ diff --git a/gcc-4.8/libgomp/configure b/gcc-4.8/libgomp/configure index 238b1af76..27235f7a6 100755 --- a/gcc-4.8/libgomp/configure +++ b/gcc-4.8/libgomp/configure @@ -15022,7 +15022,54 @@ _ACEOF if ac_fn_c_try_link "$LINENO"; then : XPCFLAGS=" -Wc,-pthread" else - CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +CFLAGS="$save_CFLAGS" LIBS="$LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <pthread.h> + void *g(void *d) { return NULL; } +int +main () +{ +pthread_t t; pthread_create(&t,NULL,g,NULL); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <pthread.h> @@ -15045,6 +15092,9 @@ rm -f core conftest.err conftest.$ac_objext \ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext # Check for functions needed. for ac_func in getloadavg clock_gettime strtoull diff --git a/gcc-4.8/libgomp/configure.ac b/gcc-4.8/libgomp/configure.ac index d87ed2932..292db2a13 100644 --- a/gcc-4.8/libgomp/configure.ac +++ b/gcc-4.8/libgomp/configure.ac @@ -184,6 +184,13 @@ AC_LINK_IFELSE( void *g(void *d) { return NULL; }], [pthread_t t; pthread_create(&t,NULL,g,NULL);])], [XPCFLAGS=" -Wc,-pthread"], + [CFLAGS="$save_CFLAGS" LIBS="$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);])], + [], [CFLAGS="$save_CFLAGS" LIBS="-lpthread $LIBS" AC_LINK_IFELSE( [AC_LANG_PROGRAM( @@ -191,7 +198,7 @@ AC_LINK_IFELSE( void *g(void *d) { return NULL; }], [pthread_t t; pthread_create(&t,NULL,g,NULL);])], [], - [AC_MSG_ERROR([Pthreads are required to build libgomp])])]) + [AC_MSG_ERROR([Pthreads are required to build libgomp])])])]) # Check for functions needed. AC_CHECK_FUNCS(getloadavg clock_gettime strtoull) diff --git a/gcc-4.8/libgomp/env.c b/gcc-4.8/libgomp/env.c index 65cbba83e..68b92f259 100644 --- a/gcc-4.8/libgomp/env.c +++ b/gcc-4.8/libgomp/env.c @@ -43,6 +43,7 @@ #endif #include <limits.h> #include <errno.h> +#include <asm/page.h> #ifndef HAVE_STRTOULL # define strtoull(ptr, eptr, base) strtoul (ptr, eptr, base) |