diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2010-03-04 21:30:17 -0800 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-03-04 21:30:17 -0800 |
commit | 01f1f5ee8b58d5a3dce5250ed3514e9dfa5ceff4 (patch) | |
tree | fe469547bea80ea1f64ee3ece11a550667c6982f | |
parent | 3df9903e416a1c6d8157bb806c5fd342aabecbed (diff) | |
download | glibc-01f1f5ee8b58d5a3dce5250ed3514e9dfa5ceff4.tar.gz glibc-01f1f5ee8b58d5a3dce5250ed3514e9dfa5ceff4.tar.xz glibc-01f1f5ee8b58d5a3dce5250ed3514e9dfa5ceff4.zip |
Pass -mtune=i686 to assembler when compiling for i686
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | config.make.in | 1 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | configure.in | 1 | ||||
-rw-r--r-- | sysdeps/i386/configure | 19 | ||||
-rw-r--r-- | sysdeps/i386/configure.in | 8 | ||||
-rw-r--r-- | sysdeps/i386/i686/Makefile | 16 |
7 files changed, 56 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index e9832a632c..57a64e9179 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-02-18 H.J. Lu <hongjiu.lu@intel.com> + + * config.make.in (config-asflags-i686): Define. + * configure.in: Substitute libc_cv_as_i686. + * sysdeps/i386/configure.in: Check if assembler supports -mtune=i686. + * sysdeps/i386/i686/Makefile (CFLAGS-.oX): Add -Wa,-mtune=i686 + if assembler supports -mtune=i686. + (ASFLAGS-.oX): Likewise. + 2010-03-04 Ulrich Drepper <drepper@redhat.com> * elf/elf.h (R_X86_64_SIZE32): Define. diff --git a/config.make.in b/config.make.in index d65706ceac..adfda9d9a4 100644 --- a/config.make.in +++ b/config.make.in @@ -36,6 +36,7 @@ asflags-cpu = @libc_cv_cc_submachine@ config-cflags-sse4 = @libc_cv_cc_sse4@ config-cflags-avx = @libc_cv_cc_avx@ +config-asflags-i686 = @libc_cv_as_i686@ defines = @DEFINES@ sysincludes = @SYSINCLUDES@ diff --git a/configure b/configure index 49ac30db46..b6752d147c 100755 --- a/configure +++ b/configure @@ -657,6 +657,7 @@ xcoff elf ldd_rewrite_script use_ldconfig +libc_cv_as_i686 libc_cv_cc_avx libc_cv_cc_sse4 libc_cv_cpp_asm_debuginfo @@ -8830,6 +8831,7 @@ fi + if test $elf = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ELF 1 diff --git a/configure.in b/configure.in index 8e506026b8..56849dfc48 100644 --- a/configure.in +++ b/configure.in @@ -2323,6 +2323,7 @@ dnl sysdeps/CPU/configure.in checks set this via arch-specific asm tests AC_SUBST(libc_cv_cpp_asm_debuginfo) AC_SUBST(libc_cv_cc_sse4) AC_SUBST(libc_cv_cc_avx) +AC_SUBST(libc_cv_as_i686) AC_SUBST(use_ldconfig) AC_SUBST(ldd_rewrite_script) diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure index f0c2758a5e..7814b3b313 100644 --- a/sysdeps/i386/configure +++ b/sysdeps/i386/configure @@ -637,3 +637,22 @@ if test $libc_cv_cc_sse4 = yes; then _ACEOF fi + +{ $as_echo "$as_me:$LINENO: checking for assembler -mtune=i686 support" >&5 +$as_echo_n "checking for assembler -mtune=i686 support... " >&6; } +if test "${libc_cv_as_i686+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if { ac_try='${CC-cc} -Wa,-mtune=i686 -xc /dev/null -S -o /dev/null' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + libc_cv_as_i686=yes +else + libc_cv_as_i686=no +fi +fi +{ $as_echo "$as_me:$LINENO: result: $libc_cv_as_i686" >&5 +$as_echo "$libc_cv_as_i686" >&6; } diff --git a/sysdeps/i386/configure.in b/sysdeps/i386/configure.in index 12dceaf844..9fc7fa59fe 100644 --- a/sysdeps/i386/configure.in +++ b/sysdeps/i386/configure.in @@ -47,3 +47,11 @@ fi]) if test $libc_cv_cc_sse4 = yes; then AC_DEFINE(HAVE_SSE4_SUPPORT) fi + +dnl Check if -Wa,-mtune=i686 works. +AC_CACHE_CHECK(for assembler -mtune=i686 support, libc_cv_as_i686, [dnl +if AC_TRY_COMMAND([${CC-cc} -Wa,-mtune=i686 -xc /dev/null -S -o /dev/null]); then + libc_cv_as_i686=yes +else + libc_cv_as_i686=no +fi]) diff --git a/sysdeps/i386/i686/Makefile b/sysdeps/i386/i686/Makefile index dbcf1c33d3..e6b2924584 100644 --- a/sysdeps/i386/i686/Makefile +++ b/sysdeps/i386/i686/Makefile @@ -9,3 +9,19 @@ stack-align-test-flags += -msse ifeq ($(subdir),string) sysdep_routines += cacheinfo endif + +ifeq (yes,$(config-asflags-i686)) +CFLAGS-.o += -Wa,-mtune=i686 +CFLAGS-.os += -Wa,-mtune=i686 +CFLAGS-.op += -Wa,-mtune=i686 +CFLAGS-.og += -Wa,-mtune=i686 +CFLAGS-.ob += -Wa,-mtune=i686 +CFLAGS-.oS += -Wa,-mtune=i686 + +ASFLAGS-.o += -Wa,-mtune=i686 +ASFLAGS-.os += -Wa,-mtune=i686 +ASFLAGS-.op += -Wa,-mtune=i686 +ASFLAGS-.og += -Wa,-mtune=i686 +ASFLAGS-.ob += -Wa,-mtune=i686 +ASFLAGS-.oS += -Wa,-mtune=i686 +endif |