Pass -mtune=i686 to assembler when compiling for i686

This commit is contained in:
H.J. Lu 2010-03-04 21:30:17 -08:00 committed by Ulrich Drepper
parent 3df9903e41
commit 01f1f5ee8b
7 changed files with 56 additions and 0 deletions

View File

@ -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.

View File

@ -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@

2
configure vendored
View File

@ -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

View File

@ -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)

View File

@ -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; }

View File

@ -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])

View File

@ -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