Module Name: src
Committed By: mrg
Date: Thu Apr 18 10:06:19 UTC 2019
Modified Files:
src/external/gpl3/gcc/dist/gcc/config/riscv: netbsd.h t-netbsd64
src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64: multilib.h
Log Message:
- undef STARTFILE_PREFIX_SPEC, it is wrong for netbsd
- make LINK_SPEC more like other multi-line string defines
- update multilib stuff for GCC 7 riscv -- -m32/-m64 gone, -mabi and
-march now decide between several options
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/gcc/dist/gcc/config/riscv/t-netbsd64
cvs rdiff -u -r1.1 -r1.2 \
src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/multilib.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h
diff -u src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h:1.11 src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h:1.12
--- src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h:1.11 Wed Apr 17 10:07:00 2019
+++ src/external/gpl3/gcc/dist/gcc/config/riscv/netbsd.h Thu Apr 18 10:06:19 2019
@@ -48,6 +48,8 @@ Boston, MA 02111-1307, USA. */
#define EXTRA_SPECS NETBSD_SUBTARGET_EXTRA_SPECS
+#undef STARTFILE_PREFIX_SPEC
+
#define LD_EMUL_SUFFIX \
"%{mabi=lp64d:}" \
"%{mabi=lp64f:_lp64f}" \
@@ -57,13 +59,14 @@ Boston, MA 02111-1307, USA. */
"%{mabi=ilp32:_ilp32}"
#undef LINK_SPEC
-#define LINK_SPEC "\
--melf" XLEN_SPEC "lriscv" LD_EMUL_SUFFIX " \
-%(netbsd_link_spec)"
+#define LINK_SPEC \
+ "-melf" XLEN_SPEC "lriscv" LD_EMUL_SUFFIX \
+ "%(netbsd_link_spec)"
#undef NETBSD_ENTRY_POINT
#define NETBSD_ENTRY_POINT "_start"
+/* Override netbsd-stdint.h uintptr_t and inptr_t. */
#undef UINTPTR_TYPE
#define UINTPTR_TYPE "long unsigned int"
Index: src/external/gpl3/gcc/dist/gcc/config/riscv/t-netbsd64
diff -u src/external/gpl3/gcc/dist/gcc/config/riscv/t-netbsd64:1.1 src/external/gpl3/gcc/dist/gcc/config/riscv/t-netbsd64:1.2
--- src/external/gpl3/gcc/dist/gcc/config/riscv/t-netbsd64:1.1 Fri Sep 19 17:20:29 2014
+++ src/external/gpl3/gcc/dist/gcc/config/riscv/t-netbsd64 Thu Apr 18 10:06:19 2019
@@ -1,21 +1,3 @@
-# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GCC is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-MULTILIB_OPTIONS = m64/m32
-MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = . ../lib/rv32
+MULTILIB_OPTIONS = march=rv64i/march=rv64g/march=rv32i/march=rv32g
+MULTILIB_DIRNAMES = 64 64 32 32
+MULTILIB_OSDIRNAMES = . . ../lib/rv32 ../lib/rv32
Index: src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/multilib.h
diff -u src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/multilib.h:1.1 src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/multilib.h:1.2
--- src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/multilib.h:1.1 Fri Sep 19 17:23:24 2014
+++ src/external/gpl3/gcc/usr.bin/gcc/arch/riscv64/multilib.h Thu Apr 18 10:06:19 2019
@@ -1,11 +1,11 @@
/* This file is automatically generated. DO NOT EDIT! */
-/* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp */
-/* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp */
+/* Generated from: NetBSD: mknative-gcc,v 1.101 2019/02/23 06:54:45 mrg Exp */
+/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp */
static const char *const multilib_raw[] = {
-". !m64 !m32;",
-".:. m64 !m32;",
-".:../lib/rv32 !m64 m32;",
+". !march=rv64i,march=rv64g !march=rv32i,march=rv32g;",
+".:. march=rv64i,march=rv64g !march=rv32i,march=rv32g;",
+".:../lib/rv32 !march=rv64i,march=rv64g march=rv32i,march=rv32g;",
NULL
};
@@ -14,8 +14,8 @@ NULL
};
static const char *const multilib_matches_raw[] = {
-"m64 m64;",
-"m32 m32;",
+"march=rv64i,march=rv64g march=rv64i,march=rv64g;",
+"march=rv32i,march=rv32g march=rv32i,march=rv32g;",
NULL
};
@@ -25,4 +25,4 @@ static const char *const multilib_exclus
NULL
};
-static const char *multilib_options = "m64/m32";
+static const char *multilib_options = "march=rv64i,march=rv64g/march=rv32i,march=rv32g";