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";

Reply via email to