diff options
author | David S. Miller <davem@davemloft.net> | 2011-09-05 15:58:57 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2011-09-05 08:58:57 -0700 |
commit | 0913b2d64ed9926d38d1de2370df11b0f98a49e0 (patch) | |
tree | 28e0f89376e70e9138d02dc51fd4b9cc290119b0 /gcc/config/sparc | |
parent | e42bcfa38cc3f3315d10f448675807eee860ae3c (diff) | |
download | gcc-0913b2d64ed9926d38d1de2370df11b0f98a49e0.zip gcc-0913b2d64ed9926d38d1de2370df11b0f98a49e0.tar.gz gcc-0913b2d64ed9926d38d1de2370df11b0f98a49e0.tar.bz2 |
config.host: Add driver-sparc.o and sparc/x-sparc on native sparc*-*-linux* builds.
* config.host: Add driver-sparc.o and sparc/x-sparc on
native sparc*-*-linux* builds.
* config/sparc/driver-sparc.c: Correct Linux strings.
* config/sparc/linux.h: Add DRIVER_SELF_SPECS.
* config/sparc/linux64.h: Likewise.
* doc/invoke.texi: Document that Linux also supports
-mcpu=native and -mtune=native on sparc.
From-SVN: r178553
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r-- | gcc/config/sparc/driver-sparc.c | 18 | ||||
-rw-r--r-- | gcc/config/sparc/linux.h | 16 | ||||
-rw-r--r-- | gcc/config/sparc/linux64.h | 16 |
3 files changed, 48 insertions, 2 deletions
diff --git a/gcc/config/sparc/driver-sparc.c b/gcc/config/sparc/driver-sparc.c index e5b91bc..f6a4e7c 100644 --- a/gcc/config/sparc/driver-sparc.c +++ b/gcc/config/sparc/driver-sparc.c @@ -58,7 +58,21 @@ static const struct cpu_names { { "SPARC-T3", "niagara2" }, { "SPARC-T4", "niagara2" }, #else - /* FIXME: Provide Linux/SPARC values. */ + { "SuperSPARC", "supersparc" }, + { "HyperSparc", "hypersparc" }, + { "SpitFire", "ultrasparc" }, + { "BlackBird", "ultrasparc" }, + { "Sabre", "ultrasparc" }, + { "Hummingbird", "ultrasparc" }, + { "Cheetah", "ultrasparc3" }, + { "Jalapeno", "ultrasparc3" }, + { "Jaguar", "ultrasparc3" }, + { "Panther", "ultrasparc3" }, + { "Serrano", "ultrasparc3" }, + { "UltraSparc T1", "niagara" }, + { "UltraSparc T2", "niagara2" }, + { "UltraSparc T3", "niagara2" }, + { "UltraSparc T4", "niagara2" }, #endif { NULL, NULL } }; @@ -137,7 +151,7 @@ host_detect_local_cpu (int argc, const char **argv) return NULL; while (fgets (buf, sizeof (buf), f) != NULL) - if (strncmp (buf, "cpu model", sizeof ("cpu model") - 1) == 0) + if (strncmp (buf, "cpu\t\t:", sizeof ("cpu\t\t:") - 1) == 0) { for (i = 0; cpu_names [i].name; i++) if (strstr (buf, cpu_names [i].name) != NULL) diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h index a9b630e..0ad4b34 100644 --- a/gcc/config/sparc/linux.h +++ b/gcc/config/sparc/linux.h @@ -39,6 +39,22 @@ along with GCC; see the file COPYING3. If not see "%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s\ %{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" +/* -mcpu=native handling only makes sense with compiler running on + a SPARC chip. */ +#if defined(__sparc__) +extern const char *host_detect_local_cpu (int argc, const char **argv); +# define EXTRA_SPEC_FUNCTIONS \ + { "local_cpu_detect", host_detect_local_cpu }, + +# define MCPU_MTUNE_NATIVE_SPECS \ + " %{mcpu=native:%<mcpu=native %:local_cpu_detect(cpu)}" \ + " %{mtune=native:%<mtune=native %:local_cpu_detect(tune)}" +#else +# define MCPU_MTUNE_NATIVE_SPECS "" +#endif + +#define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS + /* This is for -profile to use -lc_p instead of -lc. */ #undef CC1_SPEC #define CC1_SPEC "%{profile:-p} \ diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h index 7f8b378..0ad1a52 100644 --- a/gcc/config/sparc/linux64.h +++ b/gcc/config/sparc/linux64.h @@ -142,6 +142,22 @@ along with GCC; see the file COPYING3. If not see %{!mno-relax:%{!r:-relax}} \ " +/* -mcpu=native handling only makes sense with compiler running on + a SPARC chip. */ +#if defined(__sparc__) +extern const char *host_detect_local_cpu (int argc, const char **argv); +# define EXTRA_SPEC_FUNCTIONS \ + { "local_cpu_detect", host_detect_local_cpu }, + +# define MCPU_MTUNE_NATIVE_SPECS \ + " %{mcpu=native:%<mcpu=native %:local_cpu_detect(cpu)}" \ + " %{mtune=native:%<mtune=native %:local_cpu_detect(tune)}" +#else +# define MCPU_MTUNE_NATIVE_SPECS "" +#endif + +#define DRIVER_SELF_SPECS MCPU_MTUNE_NATIVE_SPECS + #undef CC1_SPEC #if DEFAULT_ARCH32_P #define CC1_SPEC "%{profile:-p} \ |