summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2017-03-03 00:39:29 +0000
committeremaste <emaste@FreeBSD.org>2017-03-03 00:39:29 +0000
commitc92da57c43b8d5b4efdfcb0c5c23bd5ad089f47a (patch)
treecc9b8357621bbe1c7c2c25fd14b6891e021295f7
parente80ebe3963280798bf09421ffe774092ea3963e2 (diff)
downloadFreeBSD-src-c92da57c43b8d5b4efdfcb0c5c23bd5ad089f47a.zip
FreeBSD-src-c92da57c43b8d5b4efdfcb0c5c23bd5ad089f47a.tar.gz
MFC r312899: add octeon+ as an alias for octeon in GCC & binutils
r208737 added support for the "mips64r2" architecture and "octeon" CPU, and the saa/saad instructions. Upstream binutils also added the "octeon+" CPU, and the saa/saad instructions are only available in octeon+, not octeon. Since our base system tool chain already accepts saa/saad with -march=octeon, just allow octeon+ as an alias. This allows the use of octeon+ in kernel config files, for use with both external tool chain and in-tree GCC/binutils. Also includes GCC FBSD_CC_VER bump (r313041 in HEAD) PR: 216516 Sponsored by: The FreeBSD Foundation
-rw-r--r--contrib/binutils/gas/config/tc-mips.c1
-rw-r--r--contrib/gcc/config/mips/mips.c1
-rw-r--r--contrib/gcc/config/mips/mips.h5
-rw-r--r--gnu/usr.bin/cc/cc_tools/freebsd-native.h2
4 files changed, 7 insertions, 2 deletions
diff --git a/contrib/binutils/gas/config/tc-mips.c b/contrib/binutils/gas/config/tc-mips.c
index 80fdfd0..d1f745e 100644
--- a/contrib/binutils/gas/config/tc-mips.c
+++ b/contrib/binutils/gas/config/tc-mips.c
@@ -15156,6 +15156,7 @@ static const struct mips_cpu_info mips_cpu_info_table[] =
/* Cavium Networks Octeon CPU core */
{ "octeon", 0, ISA_MIPS64R2, CPU_OCTEON },
+ { "octeon+", 0, ISA_MIPS64R2, CPU_OCTEON },
/* End marker */
{ NULL, 0, 0, 0 }
diff --git a/contrib/gcc/config/mips/mips.c b/contrib/gcc/config/mips/mips.c
index faa4e46..5a7792c 100644
--- a/contrib/gcc/config/mips/mips.c
+++ b/contrib/gcc/config/mips/mips.c
@@ -765,6 +765,7 @@ const struct mips_cpu_info mips_cpu_info_table[] = {
/* MIPS64R2 */
{ "octeon", PROCESSOR_OCTEON, 65 },
+ { "octeon+", PROCESSOR_OCTEON, 65 },
/* End marker */
{ 0, 0, 0 }
diff --git a/contrib/gcc/config/mips/mips.h b/contrib/gcc/config/mips/mips.h
index 1ba1402..cba35a2 100644
--- a/contrib/gcc/config/mips/mips.h
+++ b/contrib/gcc/config/mips/mips.h
@@ -285,7 +285,10 @@ extern const struct mips_rtx_cost_data *mips_cost;
\
macro = concat ((PREFIX), "_", (INFO)->name, NULL); \
for (p = macro; *p != 0; p++) \
- *p = TOUPPER (*p); \
+ if (*p == '+') \
+ *p = 'P'; \
+ else \
+ *p = TOUPPER (*p); \
\
builtin_define (macro); \
builtin_define_with_value ((PREFIX), (INFO)->name, 1); \
diff --git a/gnu/usr.bin/cc/cc_tools/freebsd-native.h b/gnu/usr.bin/cc/cc_tools/freebsd-native.h
index bd3ce1e..b92a596 100644
--- a/gnu/usr.bin/cc/cc_tools/freebsd-native.h
+++ b/gnu/usr.bin/cc/cc_tools/freebsd-native.h
@@ -8,7 +8,7 @@
/* Fake out gcc/config/freebsd<version>.h. */
#define FBSD_MAJOR 11
-#define FBSD_CC_VER 1100002 /* form like __FreeBSD_version */
+#define FBSD_CC_VER 1100003 /* form like __FreeBSD_version */
#undef SYSTEM_INCLUDE_DIR /* We don't need one for now. */
#undef TOOL_INCLUDE_DIR /* We don't need one for now. */
OpenPOWER on IntegriCloud