diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-09-22 23:50:51 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-09-22 23:50:51 +0000 |
commit | 852c5acb3054ca2f68a0fe929e51b1b916276546 (patch) | |
tree | cbd39ac1e4b0c1363025fe74604d784c1f1514de | |
parent | 0f4f6f1cb3db9ffff69532d100ea7ce90cb1674d (diff) | |
download | gcc-852c5acb3054ca2f68a0fe929e51b1b916276546.tar.gz |
* config/i386/driver-i386.c: Always define host_detect_local_cpu.
* config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
or x86_64 host. Define HAVE_LOCAL_CPU_DETECT.
(CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
than replicating condition above.
* config.host (i[34567]86-*-*): Always use driver-i386.o.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117159 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config.host | 7 | ||||
-rw-r--r-- | gcc/config/i386/driver-i386.c | 8 | ||||
-rw-r--r-- | gcc/config/i386/i386.h | 9 |
4 files changed, 16 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d8683fbd26e..0b0ef57d94e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2006-09-22 Geoffrey Keating <geoffk@apple.com> + * config/i386/driver-i386.c: Always define host_detect_local_cpu. + * config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386 + or x86_64 host. Define HAVE_LOCAL_CPU_DETECT. + (CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather + than replicating condition above. + * config.host (i[34567]86-*-*): Always use driver-i386.o. + * config/darwin.h (LINK_SYSROOT_SPEC): New. (LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to the linker by default. diff --git a/gcc/config.host b/gcc/config.host index b36066f44e5..4547864d9c1 100644 --- a/gcc/config.host +++ b/gcc/config.host @@ -97,11 +97,8 @@ esac case ${host} in i[34567]86-*-* \ | x86_64-*-* ) - # include the support for -march=native only when not cross compiling - if test x${host} = x${target} ; then - host_extra_gcc_objs="driver-i386.o" - host_xmake_file="${host_xmake_file} i386/x-i386" - fi + host_extra_gcc_objs="driver-i386.o" + host_xmake_file="${host_xmake_file} i386/x-i386" ;; esac diff --git a/gcc/config/i386/driver-i386.c b/gcc/config/i386/driver-i386.c index f13abd11dc5..979a6a5025d 100644 --- a/gcc/config/i386/driver-i386.c +++ b/gcc/config/i386/driver-i386.c @@ -22,11 +22,6 @@ Boston, MA 02110-1301, USA. */ #include "system.h" #include <stdlib.h> -#ifndef CROSS_COMPILE -/* This file shouldn't even be included in a cross compiler, but - let's be sure. */ -extern const char *host_detect_local_cpu (int argc, const char **argv); - #ifdef GCC_VERSION #define cpuid(num,a,b,c,d) \ asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" \ @@ -170,5 +165,4 @@ const char *host_detect_local_cpu (int argc, const char **argv) { return concat ("-m", argv[0], "=i386", NULL); } -#endif -#endif +#endif /* GCC_VERSION */ diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index f2e6ce06a96..4993a94f5ce 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -274,12 +274,15 @@ extern int x86_prefetch_sse; #define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \ optimization_options ((LEVEL), (SIZE)) -/* -march=native handling only makes sense with a native compiler. */ -#ifndef CROSS_COMPILE +/* -march=native handling only makes sense with compiler running on + an x86 or x86_64 chip. If changing this condition, also change + the condition in driver-i386.c. */ +#if defined(__i386__) || defined(__x86_64__) /* In driver-i386.c. */ extern const char *host_detect_local_cpu (int argc, const char **argv); #define EXTRA_SPEC_FUNCTIONS \ { "local_cpu_detect", host_detect_local_cpu }, +#define HAVE_LOCAL_CPU_DETECT #endif /* Support for configure-time defaults of some command line options. @@ -311,7 +314,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); %{mno-intel-syntax:-masm=att \ %n`-mno-intel-syntax' is deprecated. Use `-masm=att' instead.\n}" -#ifdef CROSS_COMPILE +#ifndef HAVE_LOCAL_CPU_DETECT #define CC1_CPU_SPEC CC1_CPU_SPEC_1 #else #define CC1_CPU_SPEC CC1_CPU_SPEC_1 \ |